2013-04-04 97 views
1

我對jquery很新,所以很抱歉,如果這是基本的。試圖填充輸入字段,當用戶點擊輸入外jquery

我目前有一個功能,可以清空用戶名輸入字段的值,以便用戶在輸入用戶名前不必刪除它。

$("#usernameInput").click(function(){ 
     $(this).val(""); 
    }); 

但我堅持試圖重新填充輸入字段與「用戶名」如果輸入字段的用戶沒有輸入任何東西,一旦他們當輸入字段外的點擊已經點擊了它,並清除後它與以前的功能。

這是我到目前爲止已經試過:

$("html").click(function(){ 
    if($("usernameInput").val() == " "){ 
     $("usernameInput").val("username"); 
    } 
    else{ 
     //do nothing as user has entered username 
    } 


}); 

感謝

+2

這聽起來像你可能會從添加'佔位符= 「用戶名」'屬性輸入標籤中受益。 – Matt 2013-04-04 15:43:48

+0

謝謝馬特,很高興看到html5簡化了這個! – crm 2013-04-04 15:49:33

回答

2

你通常使用的重點和模糊事件爲

$("#usernameInput").on({ 
    focus: function(){ 
     if (this.value.trim() == 'username') this.value = ''; 
    }, 
    blur: function() { 
     if (!this.value.trim().length) this.value = 'username'; 
    } 
}); 

或HTML5可以使用佔位符

<input type="text" id="usernameInput" placeholder="username" /> 

FIDDLE

+0

謝謝,你很快!我假設在模糊函數中,我可以使用if語句僅在沒有輸入任何內容的情況下將值更改爲用戶名。 – crm 2013-04-04 15:44:09

+0

@crm - 聽起來像個好主意! – adeneo 2013-04-04 15:44:39

1

試試這個

$("#usernameInput").focusout(function(){ 
    if(this.value == ""){ 
     $("usernameInput").val("username"); 
    } 
    else{ 
     //do nothing as user has entered username 
    } 

}); 
1
$("#usernameInput").focus(function(){ 
    $(this).val(""); 
}); 

$("#usernameInput").blur(function(){ 
    if($(this).val().length < 1) 
    { 
     $(this).val("username"); 
    } 
});