我正在嘗試使一些javascript進入/退出(onfocus/onblur)textfields。我想褪去「pretyped」文字,當你輸入字段時會消失。問題是測試是否應刪除文本框的值。一種方法是檢查在進入文本字段的值,如果它等於pretyped文本,然後將值設置爲無,就像這樣:style.color if-statement not working
if(field.value=='username'){
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}
然而,用戶可以複製pretyped文本,並輸入該文本後,它也將被刪除。我想這是一個小問題,但我希望儘可能地專業。爲了解決這個問題,我嘗試測試文本字段中文本的顏色,因爲用戶無法複製灰色預先定義文本的顏色。我使用此代碼:
if(field.style.color=='rgb(150, 150, 150)'){ //default color in CSS
field.value=''; //removes pretyped text
field.style.color='rgb(0, 0, 0,)'; //turns text black
}
這不起作用的原因。預格式文本保留,顏色不變。我很確定訪問CSS顏色的語法是正確的(field.style.color),因爲它可以將顏色設置爲黑色(但只在測試字段值時)。
任何幫助表示讚賞:)
編輯:有我的實際代碼沒有多餘的逗號。
雖然語法可能正常,但瀏覽器如何在內部表示顏色可能與您的字符串不同。用'console.log(field.style.color)'檢查它,看看瀏覽器使用了什麼字符串,因此你需要在你的'if()'中比較哪個字符串。 –
您是指佔位符文本?這是一個標準的HTML字段行爲... – kunalbhat
如果你想專業,使用佔位符屬性,而不是輸入默認文本 –