2014-12-22 105 views
0

快速方案:獲得一系列輸入字段,如果默認值爲焦點,則清除準備輸入的字段。在模糊時,它會測試爲空並設置默認值。第一部分(重點)像魅力一樣工作,第二部分不重要,我盯着代碼長時間,明顯地對我的錯誤視而不見。jquery this.attr(value)返回空白

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="[email protected]"><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")); 
    } 
}) 
+4

任何理由不使用佔位符屬性? –

+0

顯示您的真實HTML代碼,請不要舉例。 – vaso123

+0

佔位符的原因是語言,讓你更容易。 – Reborn

回答

0

我覺得你有與jQuery框架問題,請使用1.9 .1或以上版本

jQuery("input:text").blur(function(){ 
 
    
 
    //the above outputs empty 
 
    if (jQuery(this).val().trim() == ""){ 
 
     jQuery(this).val(jQuery(this).attr("value")); 
 
    } 
 
})
<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">

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>