【问题标题】:Why is my form not sending from a p tag on click?为什么我的表单在点击时没有从 p 标签发送?
【发布时间】:2013-08-08 22:10:59
【问题描述】:

我有一个要发送的表单,目前它使用一个带有类 .button-like 的 p 标签。出于某种原因,我根本没有得到任何回应,也没有在我的 chrome 开发工具的网络选项卡中提交?有什么可以帮忙的吗?

$(".button-like").each(function () {
    $(this).click(function () {
        var $thisItem = $(this);
        var $parent = $thisItem.parent(".forms");
        $parent.submit(function () {
            var data = {
                "action": "like"
            };
            data = $parent.serialize() + "&" + $.param(data);
            var itemId = $parent.find('input.id').val();
            $.ajax({
                type: "POST",
                url: "/actions/",
                data: data,
                success: function (data) {
                    console.log('Like submitted successfully sent');
                    $('body').addClass('liked');
                }
            });
            return false;
        });
    });
});

谢谢, 标记

【问题讨论】:

  • 你不是在调用提交事件,而是在设置它。

标签: javascript forms jquery form-submit


【解决方案1】:
$(".button-like").each(function () {
    $(this).click(function () {
        var $thisItem = $(this);
        var $parent = $thisItem.parent(".forms");
        $parent.submit(function () {
            var data = {
                "action": "like"
            };
            data = $parent.serialize() + "&" + $.param(data);
            var itemId = $parent.find('input.id').val();
            $.ajax({
                type: "POST",
                url: "/actions/",
                data: data,
                success: function (data) {
                    console.log('Like submitted successfully sent');
                    $('body').addClass('liked');
                }
            });
            return false;
        }).submit();
    });
});

这将在设置后立即触发提交。但我认为你想做的是:

$(".button-like").each(function () {
    var $thisItem = $(this);
    var $parent = $thisItem.parent(".forms");
    $parent.submit(function () {
        var data = {
            "action": "like"
        };
        data = $parent.serialize() + "&" + $.param(data);
        var itemId = $parent.find('input.id').val();
        $.ajax({
            type: "POST",
            url: "/actions/",
            data: data,
            success: function (data) {
                console.log('Like submitted successfully sent');
                $('body').addClass('liked');
            }
        });
        return false;
    });
    $thisItem.click(function () {
        $parent.submit();
    });
});

【讨论】:

  • 干杯凯利,你的明星。我知道是这样的。我认为触发提交后也是一个不错的途径。
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 2016-04-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-25
  • 1970-01-01
  • 2017-05-11
  • 1970-01-01
相关资源
最近更新 更多