Элемент ввода не определен в Firefox, но есть в Chrome / IE

#javascript #html

#javascript #HTML

Вопрос:

У меня есть форма, в которой я пытаюсь получить информацию от пользователя при нажатии кнопки. Я использую функцию javascript для передачи значений в мой скрипт. Это отлично работает в Chrome и IE9, но по какой-то причине Firefox видит входные элементы как неопределенные. Вот HTML:

 <div id="leftDiv">
<br>
<dl class="loginForm">
    <dt><label for="usernameField">Username:</label></dt>
    <dd><input type="text" id="usernameField" name="usernameField" value=""/></dd>
    <dt><label for="passwordField">Password:</label></dt>
    <dd><input type="password" id="passwordField" name="passwordField" value="" /></dd>
    <dt><label for="remember">Save info:</label></dt>
    <dd><input type="checkbox" id="remember" name="remember"/></dd>
    <dt><button type="button" onclick="javascript:tryLogin(usernameField.value, passwordField.value, remember.checked)"> Login</button> </dt><dd></dl>
</div>
  

Я запустил сайт через онлайн-проверку W3c, и она прошла, поэтому я не думаю, что это проблема.

Комментарии:

1. Является ли div обернутым элементом формы?

2. @JohnHartsock Вот и все, сделайте ответ, чтобы я мог его принять! Спасибо

3. @Millec8…. Ну вот …. рад, что я смог помочь?

Ответ №1:

Вам нужно убедиться, что все входные данные заключены в <form> элемент, чтобы использовать следующий код javascript:tryLogin(usernameField.value, passwordField.value, remember.checked)

или

Вы могли бы ссылаться на использование document.getElementById() таких:

  javascript:tryLogin(document.getElementById('usernameField').value, document.getElementById('passwordField').value, document.getElementById('remember').checked)`