我正在开发一个 ASP.net Web 应用程序。
我有一个带有提交按钮的表单。提交按钮的代码如下所示<input type='submit' value='submit request' onclick='btnClick();'>
。
我想写如下内容:
function btnClick() {
if (!validData())
cancelFormSubmission();
}
我该怎么做呢?
我正在开发一个 ASP.net Web 应用程序。
我有一个带有提交按钮的表单。提交按钮的代码如下所示<input type='submit' value='submit request' onclick='btnClick();'>
。
我想写如下内容:
function btnClick() {
if (!validData())
cancelFormSubmission();
}
我该怎么做呢?
你最好这样做...
<form onsubmit="return isValidForm()" />
如果isValidForm()
返回false
,则您的表单不会提交。
您可能还应该从内联移动您的事件处理程序。
document.getElementById('my-form').onsubmit = function() {
return isValidForm();
};
将您的输入更改为:
<input type='submit' value='submit request' onclick='return btnClick();'>
并在您的函数中返回 false
function btnClick() {
if (!validData())
return false;
}
你需要改变
onclick='btnClick();'
到
onclick='return btnClick();'
和
cancelFormSubmission();
到
return false;
也就是说,我会尽量避免使用内在事件属性,而是使用具有良好事件处理 API 并与真正重要的事件相关联的库(例如 YUI 或 jQuery)来支持不显眼的 JS(即表单的提交事件)按钮的点击事件)。
有时onsubmit
不适用于 asp.net。
我用非常简单的方法解决了它。
如果我们有这样的表格
<form method="post" name="setting-form" >
<input type="text" id="UserName" name="UserName" value=""
placeholder="user name" >
<input type="password" id="Password" name="password" value="" placeholder="password" >
<div id="remember" class="checkbox">
<label>remember me</label>
<asp:CheckBox ID="RememberMe" runat="server" />
</div>
<input type="submit" value="login" id="login-btn"/>
</form>
您现在可以在表单回发之前捕获该事件并停止回发并使用此 jquery 执行您想要的所有 ajax。
$(document).ready(function () {
$("#login-btn").click(function (event) {
event.preventDefault();
alert("do what ever you want");
});
});
您应该将类型从 更改submit
为button
:
<input type='button' value='submit request'>
代替
<input type='submit' value='submit request'>
然后您在 javascript 中获取按钮的名称并将您想要的任何操作关联到它
var btn = document.forms["frm_name"].elements["btn_name"];
btn.onclick = function(){...};
为我工作希望它有帮助。