我目前有一个带有禁用提交输入的表单。在firefox 4.0中,如果你按回车没有任何反应(这就是我想要的)。
在Chrome(11)或IE 7中,它会尝试提交页面。
是否有一些Jquery会使Chrome&在这个例子中,IE的行为类似于Firefox?
我为人们创建了一个测试页 - http://jsfiddle.net/tEsEU/1/
这是输出html
<!DOCTYPE html>
<html lang="en-CA">
<head>
<title>Test</title>
</head>
<body>
<div class="page">
<div id="header">
<div id="title">
<h1>My App</h1>
</div>
<div id="logindisplay">
</div>
<div id="menucontainer">
<ul id="menu">
</ul>
</div>
</div>
<div id="main">
<div>
<form action="/Home/ChangePeoPerm" method="post">
<label for="userName" class="visibleFalse">asdfsdf</label>
<input type="text" name="userName" id="userName" value="d" />
<input type="submit" name="btnAddUser" id="btnAddUser" value=">>" disabled="disabled" />
</form></div>
<div id="footer">
</div>
</div>
</div>
</body>
</html>
这是我的mvc View
<div>
@using (Html.BeginForm("ChangePeoPerm", "Home"))
{
<label for="userName" class="visibleFalse">asdfsdf</label>
<input type="text" name="userName" id="userName" value="d" />
<input type="submit" name="btnAddUser" id="btnAddUser" value=">>" disabled="disabled" />
}
</div>
答案 0 :(得分:2)
它看起来像是Chrome中的一个错误。建议的解决方案是使用javascript订阅表单的onsubmit
事件,如果按钮被禁用,则取消提交。以下是使用jQuery实现此目的的方法:
$(function() {
$('form').submit(function() {
return !$(':submit', this).is(':disabled');
});
});
答案 1 :(得分:1)
您可以使用jQuery以编程方式阻止提交事件:
$("form").submit(function(){
return $("#btnAddUser").attr("disabled") != "disabled";
});