我有一个简单的表格来检查用户针对变量
输入的邮政编码的值我正在尝试禁用提交按钮并进行检查并发出警告消息,我无法弄清楚我做错了什么,任何帮助都会受到赞赏。
<form id="post_code">
<input name="textfield" type="text" id="postcode" size="14" maxlength="8" />
<input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" />
</form>
$(function() {
$('form#post_code').submit(function() {
var entered_post_code = $('form#post_code input#postcode').val();
var post_code = "CV";
if (entered_post_code == post_code) {
alert("post code is ok");
return true;
}else {
alert("post code is not ok");
return true;
}
return false;
});
});
答案 0 :(得分:74)
W3C建议将该属性设置为disabled =“disabled”,所以:
$('#submit_postcode').attr('disabled', 'disabled');
可以通过删除属性来重新启用:
$('#submit_postcode').removeAttr('disabled');
将属性设置为任何值会导致它被禁用,甚至.attr('disabled','false'),因此必须将其删除。
答案 1 :(得分:4)
$('#submit_postcode').attr('disabled', 'disabled');
答案 2 :(得分:1)
如果匹配,则返回true,如果匹配,则返回true。永远不会到达return false
行。
您可能希望将其中一个trues更改为false,并删除if / else块之外的行。
答案 3 :(得分:1)
这是我用来禁用或重新启用控件的代码:
function handleControlDisplay(className, foundCount, checked) {
var button = jQuery(className);
if (foundCount > 0 && foundCount == checked) {
// enable
button.removeAttr("disabled");
}
else {
// set the disabled attribute
button.attr("disabled", "true");
};
}
答案 4 :(得分:0)
var entered_post_code = $('form#post_code input#postcode').val();
// rewrite as
var entered_post_code = $("#post_code input[id=postcode]").val();
如果邮政编码不正确,您应该返回false。没有?
可能是你的,如果它从未解决为真,它总是返回false。 submit()函数的用法是正确的。
答案 5 :(得分:-3)
//disable
$('#submit_postcode').attr('disabled', true);
//re-enable
$('#submit_postcode').removeAttr('disabled');