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