我有一个表单,我已禁用提交按钮。如果我选择下拉列表的值,则此按钮仅会启用。但我在IE和Chrome中遇到了一个奇怪的问题:如果我在文本框中按Enter键,表单就会被提交(即使我的提交按钮被禁用)。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>Form Submit</title>
</head>
<body>
<div>
<form method="post" action="/distributor-locations-global/index.html?qa=Y" >
<input type="hidden" value="" id="filter-url" name="filter_url">
<input type="hidden" value="SKF Distributor" id="filter_type" name="filter_type">
<input type="hidden" value="Y" id="filter_type" name="identifier">
<div class="field country-field full">
<select id="country" name="country" class="custom replaced" title="Sweden">
<option value="">Select location *</option>
<option value="1042">Albania</option>
<option value="1043">Algeria</option>
<option value="1064">Benin</option>
</select>
</div>
<div class="field zip-field full">
<input type="text" id="zip" name="zip" class="ui-disabled styled-text" >
</div>
<div class="button"><input type="submit" disabled="disabled" value="Show results" class="button styled-button"></div>
</form>
</div>
</body>
</html>
答案 0 :(得分:1)
提交按钮不仅是提交表单的方式,如果要设置表单提交的一些限制,你必须使用像这样的js函数
<form method="post" action="/distributor-locations-global/index.html?qa=Y" onsubmit="return validate();">
添加适当的javascript函数
<script>
function validate()
{
if (check_what_you_need_here==true) {
return true;
}
return false;
}
</script>
现在每次表单都将提交它将转到验证方法,并且只有在通过验证表后才会发送
答案 1 :(得分:0)
您可以使用标题中的以下代码禁用表单上的回车键:
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>