2015-01-09 87 views
0

我正在使用一个asp.net webform页面。我有一些JavaScript检查,如果一些动态生成的字段有值,然后显示消息,如果没有。问题是我没有找到一种方法来阻止表单在这个检查失败时被提交。如何停止提交表单?

<form id="myform" name="myform" runat="server" onsubmit="finalCheck();"> 

我试过按钮,并输入类型:

<button type="submit">submit</button> 

<input type="submit" value="submit"/> 

的finalCheck()方法总是执行不和返回false。但形式反正。

我还需要做些什么来防止表单被提交?

回答

1

在事件处理程序的代码必须从它调用函数返回值:

onsubmit="return finalCheck();" 
+0

简短而甜美。谢谢! – 4thSpace 2015-01-09 23:23:48

0

的事件处理函数必须返回false。该功能是onsubmit,而不是finalCheck

onsubmit="return finalCheck();" 

如果您使用的是现代代码,则可以改为在事件对象上调用preventDefault

<script> 
document.getElementById('myform').addEventListener('submit', finalCheck); 

function finalCheck(event) { 
    var myForm = this; 
    // do stuff 
    event.preventDefault(); 
} 
</script> 
2

写你的HTML这样的:

<form id="myform" name="myform" runat="server" onsubmit="finalCheck(event);"> 

然后到你的finalCheck(event)写这篇文章,对良好做法的第一行:

event.preventDefault(); 

,将停止提交,你可以在preventDefault函数之后添加更多代码以处理表单数据