我正在尝试禁用提交按钮,直到返回user_name和电子邮件检查这是有效的,但我不希望它继续并显示提交按钮,如果有错误。即用户名/电子邮件已存在!
我一直在尝试从我的表单中的id =“livesearchEmail”中检索我的错误值。如果它清楚,即没有错误,那么我希望按钮变得活跃!我看起来很直接,但它不起作用!我错过了什么?
我一整天都在尝试从#livesearchEmail返回一个值,但无济于事。
我们将非常感谢您正确接受任何帮助或积分!
<div id="livesearchEmail" class="livesearchEmail"></div>
<script type="text/javascript">
$(document).ready(function() {
$('input[id="registerButton"]').attr('disabled','disabled');
$('input[type="text"]').keyup(function() {
if ($('#user_name').val() != "" && $('#email').val() != "") {
if ($("#livesearchEmail") == ''){
$('input[id="registerButton"]').removeAttr('disabled');
}
}
});
});
</script>
答案 0 :(得分:0)
尝试使用
$("#livesearchEmail").text();
修改 - 添加代码
$(document).ready(function() {
$('input[id="registerButton"]').attr('disabled','disabled');
$('input[type="text"]').keyup(function() {
if($('#user_name').val() != "" && $('#email').val() != ""){
if ($("#livesearchEmail").text() == ""){
$('input[id="registerButton"]').removeAttr('disabled');
}
}
});
});
答案 1 :(得分:0)
假设您尝试获取的数据位于DOM元素(如&lt; div&gt;)中,而不是表单元素,您可以这样做:
if ($("#livesearchEmail")[0].innerHTML === '')
或者如果想保留它jQuery我认为你可以使用text()函数:
if ($("#livesearchEmail").text() === '')
另外,请注意我使用三等于防止虚假评估。
答案 2 :(得分:0)
因为ID是唯一的,所以你不需要构建一个带有标签和所有东西的特殊选择器。例如,您只需将其转换为:$('input[id="registerButton"]')
即可:$("#registerButton")
。
我不太确定你为什么要检查是否没有返回错误,因为如果你检查那个按钮将永远不会被激活。但是,根据您的要求,这个jQuery代码将适合您:
$(document).ready(function() {
$("#registerButton").attr('disabled','disabled');
$('input[type="text"]').keyup(function() {
if ($('#user_name').val() && $('#email').val() && (!$("#livesearchEmail").length || !$("#livesearchEmail").text())) {
$("#registerButton").removeAttr('disabled');
}
});
});