1

我在页面上的所有表单上都有一个 onclick 事件:

$('form[method="post"]').click(function() {
    if($('textarea[name="serialized_data"]').length > 0) {
            alert("serialize_data already exists in this form!");
            return false;
        }
        var data=$(this).serialize();
        $(this).append('<textarea name="serialized_data">'+(data)+'</textarea>'); 
});

如果您按下提交按钮,然后在目标页面上按回浏览器,则会出现此警报。

但是这个解决方案在所有形式上都停止了。

如何仅在已按下提交按钮的表单上应用警报?

如果您想知道为什么我在该文本区域中输入所有数据,那是另一个问题:compact all form-data with javascript

4

1 回答 1

1

您在textarea任何地方都选择了所有 s,而不是单击表单中的那些。尝试这个:

$('textarea[name="serialized_data"]', this)

这将选择器限制在 的上下文中this,即表单。

于 2013-10-03T19:36:19.087 回答