2013-03-05 2 views
0

제출 버튼을 사용하여 양식을 작성하여 로그인을 확인하고 새 사용자를 만들 수 있습니다.자바 스크립트 함수 외부에서 명령어 오류가 발생했습니다.

나는 이것을 코딩 해요 :

<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 콘솔은 무엇을 말합니까? –

답변

1

onclick 이벤트 처리기 정의에 인용 충돌이있을 수 있습니다. 귀하의 브라우저가 이것을 onclick="document.getElementById("으로 해석하고 있습니다.

document.getElementById 문장의 인수를 작은 따옴표로 묶으십시오.

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

당신은 그것을 해결할 수 getElementById에 대한 사용 single quote

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

아래로 사용할 수 있습니다.

+0

감사합니다. 그것은 효과가있다! – davidmr

관련 문제