jquery this.attr(value)返回空白

时间:2014-12-22 12:51:28

标签: jquery

快速方案:获得一系列输入字段,如果是默认值,它会清除准备输入的字段。在模糊时,它测试为空并设置默认值。第一部分(焦点)的工作方式就像魅力第二部分没有,我已经长时间盯着代码,显然对我的错误视而不见。

HTML:

<label for="name">Navn: *</label>
<input type="text" name="name" id="name" value="Dit Navn"><br>
<label for="email">E-mail: *</label>
<input type="text" name="email" id="email" value="eksempel@mail.dk"><br>

有效的jQuery:

jQuery("#dfwylf_Overlay input:text").focus(function(){
    if ( jQuery(this).attr("value") == jQuery(this).val() ){
        jQuery(this).val("");
    }
})

不起作用的代码:

jQuery("#dfwylf_Overlay input:text").blur(function(){
    console.log(jQuery(this).attr("value"));
    //the above outputs empty
    if ( jQuery(this).val() == "" ){
        jQuery(this).val(jQuery(this).attr("value"));
    }
})

2 个答案:

答案 0 :(得分:0)

我认为你的jquery框架使用1.9.1或更高版本

有问题

&#13;
&#13;
jQuery("input:text").blur(function(){
 
    //the above outputs empty
    if ( jQuery(this).val().trim() == "" ){
        jQuery(this).val(jQuery(this).attr("value"));
    }
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" name="someName" id="someId" value="a value">
<input type="text" name="someName2" id="someId2" value="another value">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

jQuery("#dfwylf_Overlay input[type=text]").focus(function(){
    if ( jQuery(this).attr("value") == jQuery(this).val() ){
        jQuery(this).val("");
    }
})

jQuery("#dfwylf_Overlay input:text").blur(function(){
    console.log(jQuery(this).attr("value"));
    //the above outputs empty
    if ( jQuery(this).val() == "" ){
        jQuery(this).val(jQuery(this).attr("value"));
    }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="dfwylf_Overlay">
<input type="text" name="someName" id="someId" value="a value">
<input type="text" name="someName2" id="someId2" value="another value">
</div>