在javascript中点击多个表单中的指定按钮

时间:2012-09-05 17:03:38

标签: javascript forms

我需要一些Javascript的帮助。

在我的HTML中,我有一个重复两次的表单。

<form method='post' action='php page'>
   <input type=text id=something name=something value='' />
   <input type="submit" id="final_submit" value="yes">
</form>

这种确切的形式重复两次。在javascript中,当有人点击提交按钮时,我需要能够确定单击了哪个按钮以获取该表单中某些内容的值。现在,即使我单击第二个表单上的按钮,它也会自动获取第一个表单的值。

请任何想法。

2 个答案:

答案 0 :(得分:0)

这就是你需要的吗?

function determineForm(e)
{

 // This prevents the form from actually being submitted.
 // Just remove it when you are done debugging.
 e.preventDefault();

 if (document.querySelectorAll("form")[0] === e.target)
 {
  alert("Form1");
 }
 else
 {
  alert("Form2");
 }
}
document.addEventListener("submit", determineForm, false);

答案 1 :(得分:0)

如评论中所述,使用重复的ID是错误的。这是一种获取输入值的方法,该输入值也可用于使用旧版浏览器document.formsforms.element

var forms = document.forms;
for(var i=0, l= forms.length; i++){
  forms[i].addEventListener('submit', function(e){
   e.preventDefault();
   var form = e.target;
   var value = form.elements[0].value;
  })
}

这将为您身边的每个表单添加一个提交事件侦听器,并停止事件并从此表单中的第一个输入字段中获取值。