【发布时间】:2013-08-05 18:03:00
【问题描述】:
我一直在尝试实现一些 JavaScript,它会在所有字段都填满之前禁用提交按钮。我在这里找到了一个很棒的:Disabling submit button until all fields have values。 Hristo 提供了一个链接,正是我在这里需要的:http://jsfiddle.net/qKG5F/641/。
我的问题是,当我尝试整理一个完整的“最小工作示例”时,我完全被难住了。我确定我缺少一些小方面,但这是我想出的:
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled'); // updated according to https://stackoverflow.com/questions/7637790/how-to-remove-disabled-attribute-with-jquery-ie
} else {
$('#register').removeAttr('disabled'); // updated according to https://stackoverflow.com/questions/7637790/how-to-remove-disabled-attribute-with-jquery-ie
}
});
})()
</script>
</head>
<body>
<form>
Username<br />
<input type="text" id="user_input" name="username" /><br />
Password<br />
<input type="text" id="pass_input" name="password" /><br />
Confirm Password<br />
<input type="text" id="v_pass_input" name="v_password" /><br />
Email<br />
<input type="text" id="email" name="email" /><br />
<input type="submit" id="register" value="Register" disabled="disabled" />
</form>
<div id="test">
</div>
</body>
我只是复制/粘贴并添加了我认为使页面正常工作所必需的内容,但我的提交按钮仍然永久禁用。为了完成这项工作,我缺少什么简单的部分?
谢谢!
【问题讨论】:
-
有控制台输出吗?你能把一个 jsFiddle 放在一起显示你的错误吗?
-
jsFiddle 上似乎不存在我的问题。我在我的问题中包含的链接对我来说很好,但是当我尝试创建自己的页面以在 WAMP 上进行测试时,提交链接仍然被禁用。页面上没有显示特定错误。这回答了你的问题吗?
-
试试
<script type='text/javascript' src='http://code.jquery.com/jquery-1.5.js'></script>虽然应该没什么区别 -
您需要在document ready event 中运行代码。默认情况下,jsfiddle 会这样做。此外,除非您有充分的理由使用 jQuery 1.5.2,否则请更新到较新的版本。 1.5 2岁以上。
标签: javascript jquery