如何确定具有特定名称的输入是否以特定形式存在


How do I find out if an input with a certain name exists in a certain form?

我在页面上的所有表单上都有一个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 的上下文中,即形式。