我在页面上的所有表单上都有一个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>');
});
如果您按下提交按钮,然后在目标页面上按浏览器的返回,则会出现此警报。
但是这种解决方案停止在所有形式上。
如何仅在已按下提交按钮的表单上应用警报?
如果你想知道为什么我在那个文本区域中输入所有数据,那就是另一个问题:用javascript压缩所有表单数据
您在任何地方选择所有textarea
,而不是单击表单中的那些。试试这个:
$('textarea[name="serialized_data"]', this)
这就将选择器限制在 this
的上下文中,即形式。