在IE中,我的.Net按钮有一些非常奇怪的行为。
我有一个普通的HTML按钮。
<input type="submit" onclick="return Valadation()" value="Save profile" class="btn primary rounded" />
然后调用一些简单的JavaScript
if (txbEmail.length == 0) {
$("[id$='txbEmail']").addClass("error");
$("[id$='txbEmail']").focus().select();
showMessage = true;
displayMessage += "Email Address, "
}
else {
$("[id$='txbEmail']").removeClass("error");
}
if (showMessage) {ShowStatus("warning", displayMessage);
return false;
}
else {
var saveButton = $('[id*="butSave"]');
saveButton.focus();
saveButton.click();
}
最终结果是单击asp.net按钮
<asp:Button ID="butSave" runat="server" Style="display: none;" onclick="butSave_Click" />
这个问题是不是永远不会把页面发回去?在FF、Chrome上工作正常,但在IE上不行
发布于 2011-12-08 19:19:50
事实证明,这是jQuery中的一个已知问题,无法修复,但有一个非常简单的解决方法。
如果相关按钮的type=为“submit”,则脚本.click()将不起作用(只有在IE中,IE7、IE8、IE9都不会显示此错误)。
但是,如果只将按钮类型更改为type=" button“,.click()事件就可以正常工作。
发布于 2011-04-06 19:57:02
如果需要使用ASP按钮来执行javascript验证,请使用OnClientClick属性:
<asp:Button ID="butSave" runat="server" Style="display: none;" onclientclick="return Valadation()" onclick="butSave_Click" />
只需从Valadation()方法返回false,以阻止asp按钮提交。
https://stackoverflow.com/questions/5565661
复制相似问题