【发布时间】:2016-03-20 14:10:39
【问题描述】:
我有两个输入字段,一个用于电话号码,另一个用于电子邮件。我想根据用户选择禁用一个字段。如果用户在任一字段中单击并输入输入,则会禁用另一个字段,反之亦然。
我已经编写了代码,但似乎只有在电话字段中输入数字时才会禁用电子邮件字段。删除电话字段中的数字将从电子邮件输入字段中删除禁用。
在我的 HTML 中
<input type="number" name="number" placeholder="hone" class="cellphone" data-cp-visibility="new-user" id="phone">
<input type="email" name="email" placeholder="enter email" class="email" data-cp-visibility="new-user" id="email">
在 JAVASCRIPT 中
$('#phone').live('blur',function(){
if(document.getElementById('phone').value > 1) {
$('#email').attr('disabled', true);
} else {
$('#email').attr('disabled', false);
}
});
$('#email').live('blur',function(){
if(document.getElementById('email').value > 1) {
$('#phone').attr('disabled', true);
} else {
$('#phone').attr('disabled', false);
}
});
最终我想要完成的是用户可以单击任一字段然后输入输入,这样做后,另一个字段被禁用。如果他们选择删除他们输入的文本,它将删除禁用的功能,然后他们可以选择相反的输入字段。
我不确定为什么它只适用于一个字段而不适用于另一个字段,或者为什么如果您在电话字段中输入 333-333-3333 会破坏禁用状态,但 33333333 可以正常工作。
关于我可能缺少什么的任何想法或见解?
【问题讨论】:
-
方法错误,你应该使用
prop,而不是attr! -
另外,一封邮件可能不是“超过1”,好像你想检查修剪后的值是否等于
""(空字符串) -
最后,
live()在几年前被弃用并删除了 -
您还混合使用了 javascript 和 jquery。我看不出有什么理由编写代码使您尝试这样做变得复杂。
标签: javascript jquery html