我相信你正在尋找:
<input type="text"
data-value="<?php echo htmlentities("$r1[MAJORS1]"); ?>"
placeholder="<?php echo htmlentities("$r1[MAJORS1]"); ?>"
onfocus="if(this.value!=''){
this.value='';
this.style.color='#000';
this.setAttribute('placeholder',this.getAttribute('data-value'));
}"
onblur="if(this.value==''){
this.value=this.getAttribute('data-value');
this.style.color='#000';
}else{
this.setAttribute('data-value',this.value);
}"
value="<?php echo htmlentities("$r1[MAJORS1]"); ?>">
不完全是漂亮,但。與用戶瀏覽器的默認功能混淆有混淆的傾向。然而,我相信我的佔位符用法會讓用戶不會感到困惑,因爲他們的輸入將會回覆到佔位符讀取的任何內容。
見我的jsfiddle這裏:http://jsfiddle.net/3Lvs77bv/
我不知道,但知道MAJORS1
應該是在你$r1
數組常量或鍵,雖然。如果它是一個鍵,請確保引用它來防止警告,否則PHP會認爲它是一個常量。但是,無論如何,如果常量沒有被定義並且將它作爲數組中的鍵,PHP將會回退,儘管會產生警告。
編輯:
如果你想允許空值,您既可以添加一個按鈕來清除像這樣的領域:
http://jsfiddle.net/3Lvs77bv/1/
或者,我會建議,簡單地擺脫你試圖編碼的所有混亂,這在功能上影響用戶的默認瀏覽器,並且當場被聚焦時簡單地使用this.select()
代替:
http://jsfiddle.net/3Lvs77bv/2/
'<?php echo「$ r1 [MAJORS1]」?>'在PHP腳本的服務器端運行,並生成具有固定值的JavaScript。您需要創建一個單獨的JavaScript變量,在'onfocus'函數中將當前值寫入它,然後將其分配到onblur中的'this.value'中。 –