【发布时间】:2014-07-30 12:02:46
【问题描述】:
我的浏览器 Chrome 有一些问题,当它记住密码、用户名等时。我无法检查输入字段是否为空。 我使用以下代码,但是 if 语句在 Chrome 中不起作用,而在所有其他浏览器中都起作用。
$(document).ready(function() {
$('.inputWithLabel').each(function(){
if ($(this).val().length != 0){
var element_id = $(this).attr('id');
$('label[for="' + element_id + '"]').addClass('inputWithText');
}
});
});
我尝试更改以下标签
<form action="" method="post">
<div class="divInputLabel inputLabel">
<label class="labelInput" for="username">Brugernavn*</label>
<input class="inputLabel inputWithLabel" id="username" name="username" type="text">
</div>
<div class="divInputLabel inputLabel">
<label class="labelInput" for="password">Adgangskode*</label>
<input class="inputLabel inputWithLabel" id="password" name="password" type="password">
</div>
<div class="divInputLabel inputLabel">
<label class="labelInput" for="password_again">Gentag adgangskode*</label>
<input class="inputLabel inputWithLabel" id="password_again" name="password_again" type="password">
</div>
<div class="divInputLabel inputLabel">
<label class="labelInput" for="first_name">Fornavn*</label>
<input class="inputLabel inputWithLabel" id="first_name" name="first_name" type="text">
</div>
<div class="divInputLabel inputLabel">
<label class="labelInput" for="last_name">Efternavn</label>
<input class="inputLabel inputWithLabel" id="last_name" name="last_name" type="text">
</div>
<div class="divInputLabel inputLabel">
<label class="labelInput" for="email">Email*</label>
<input class="inputLabel inputWithLabel" id="email" name="email" type="text">
</div>
<div class="divInputLabel inputLabel">
<input type="Submit" class="submit-button" value="Registre">
</div>
</form>
我希望有人可以帮助我。
【问题讨论】:
-
这个脚本包含在文档的什么地方?
-
我在 之后和 之前都试过了,但都没有用。
-
如果它是由浏览器预填充的,它就不是空的。什么是预期行为?页面加载时 - 您要重置所有字段吗?
-
我相信 Chrome 在预填充表单元素时会触发
change事件。您可以尝试捕获一次以重置值 -
Yuriy Galanter 是对的,我添加了这个 $('.inputWithLabel').change( function(){ var element_id = $(this).attr('id'); $('label[ for="' + element_id + '"]').addClass('inputWithText'); });在 Chrome 中有效。
标签: javascript jquery google-chrome