我有一个包含许多字段和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();
}
答案 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语句时是否正确。