2010-04-07 133 views
0

這是問題,我不能無論如何。 我有以下簡單的腳本輸入onfocus問題


<input class="input" type="text" name="l_username" style="color: #ccc;" 
    value= " <?if ($_POST[l_username] != '') 
       echo $_POST[l_username]; 
       else echo 'something';?>" 
    onfocus="if (this.value == 'something') { 
this.value='';this.style.color='black';}" /> 

聚焦狀態並不在這裏工作,但是當我從值刪除PHP腳本,它的工作原理


<input class="input" type="text" name="l_username" style="color: #ccc;" 
     value= " something" 
     onfocus="if (this.value == 'something') { 
    this.value='';this.style.color='black';}" /> 

它工作正常。 你能告訴我爲什麼嗎? 感謝

回答

1
<input class="input" type="text" name="l_username" style="color: #ccc;" 
value= " <?if ($_POST[l_username] != '') 
      echo $_POST[l_username]; 
      else echo 'something';?>" 
onfocus="if (this.value == 'something') { 
this.value='';this.style.color='black';}" /> 

你在你的PHP腳本的前面有一個空格。嘗試刪除它匹配的JavaScript如果情況下(if (this.value == 'something'

+0

@Mannaz是的,你是真的,謝謝;) – Simon 2010-04-07 20:47:15

1
" <?if ($_POST[l_username] != '') 
       echo $_POST[l_username]; 
       else echo 'something';?>" 

因爲<前的空格字符的?

在你的焦點事件處理程序,你可以使用默認值屬性,所以您不必重複「東西」串兩次

onfocus="if(this.value === this.defaultValue){this.value='';this.style.backgroundColor='black';}" 
+0

@Rafael這是非常有用的,謝謝 – Simon 2010-04-07 20:55:04