2013-03-05 61 views
0

我正在提交一個提交按鈕來檢查登錄和一個鏈接,使一個新的用戶的形式!JavaScript函數外部的指令錯誤

我與這個編碼:

<script language="javascript"> 

function new_user() 
{ 
     document.getElementById("login").value='registo'; 
} 


</script> 

<form id="frmLogin" name="frmLogin" method="post" action="#"> 
    <table> 
     <tr> 
      <td><label for="username">Nome do utilizador</label></td> 
      <td><input type="text" name="username" id="username" /></td> 
     </tr> 
     <tr> 
      <td><label for="password">Palavra-passe</label></td> 
      <td><input type="text" name="password" id="password" /></td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input type="submit" name="OK" id="OK" value="Submit"/></td> 
     </tr> 
     <tr> 
      <td><input type="hidden" name="login" id="login" value="login"/></td> 
      <td><a href="#" onclick="new_user();document.frmLogin.submit();">Novo Utilizador</a></td> 
     </tr> 
    </table> 
</form> 

我想使用隱藏域得知,當用戶按下按鈕或鏈接。

爲了使更小的代碼,我想利用這個代碼,而不是:

<form id="frmLogin" name="frmLogin" method="post" action="#"> 
    <table> 
     <tr> 
      <td><label for="username">Nome do utilizador</label></td> 
      <td><input type="text" name="username" id="username" /></td> 
     </tr> 
     <tr> 
      <td><label for="password">Palavra-passe</label></td> 
      <td><input type="text" name="password" id="password" /></td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input type="submit" name="OK" id="OK" value="Submit"/></td> 
     </tr> 
     <tr> 
      <td><input type="hidden" name="login" id="login" value="login"/></td> 
      <td><a href="#" onclick="document.getElementById("login").value='registo';document.frmLogin.submit();">Novo Utilizador</a></td> 
     </tr> 
    </table> 
</form> 

誰能解釋一下我爲什麼這不起作用?

+0

定義「不起作用」。也許是因爲你的字符串中的雙引號會提前終止'onclick'屬性? JavaScript控制檯說什麼? – 2013-03-05 11:18:02

回答

1

您可能會在onclick事件處理程序的定義中發生引號衝突。您的瀏覽器將其解釋爲onclick="document.getElementById("

嘗試用單引號括住document.getElementById句子的參數。

onclick="document.getElementById('login').value='registo';document.frmLogin.submit();"> 
0

您可以使用它,如下

<td><a href="#" onclick="document.getElementById('login').value = 'registo';document.frmLogin.submit();">Novo Utilizador</a></td> 

使用single quotegetElementById,將解決這個問題。

+0

謝謝!有效! – davidmr 2013-03-05 12:00:45