使用JavaScript处理表单中的多个提交按钮

时间:2009-09-02 21:48:31

标签: javascript events onclick form-submit

我有一个包含许多字段和2个提交按钮的表单。我想根据我点击的提交按钮运行不同的检查。我尝试编写下面的代码,但它是错误的(我不知道JS),没有任何反应(语法错误?)。我如何找出点击了哪两个按钮?

document.getElementById('sub1').onclick = checkForm;
document.getElementById('sub2').onclick = checkForm;

function checkForm(e)
{
    var e = e || window.event;
    var o = e.srcElement || e.originalTarget;

    if(o.id=="sub1")
        return checkNotNull();
    else
        return checkSamePass();
}

2 个答案:

答案 0 :(得分:1)

为什么要这么复杂?

function checkForm(button) {

  formOk = false;

  if (button = 'first') {
    //check form
    if (formOk) myform.submit();
  }

  if (button = 'second') {
    //check form using other logic
    if (formOk) myform.submit();
  }

}


<input type="button" onClick="checkForm('first');" value = "button 1">
<input type="button" onClick="checkForm('second');" value = "button 2">

答案 1 :(得分:1)

我将您的代码放入测试页面,它在FF和IE上都能正常工作。问题可能在于您调用的两个函数checkNotNull()checkSamePass()。我会检查它们是否正常工作并正确返回。

您可以通过输入o.id来验证alert(o.id)在到达if / else语句时是否正确。