2013-03-05 4 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? –

ответ

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 quote для getElementById, который будет решать его.

+0

Спасибо! Это сработало! – davidmr