如何找到id元素的文本值?

时间:2012-05-03 14:55:46

标签: javascript jquery

我正在尝试禁用提交按钮,直到返回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>  

3 个答案:

答案 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)

jQuery ID Selector (“#id”)

因为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');
    }
    });        
});