Получение значения из поля ввода в html во внешнем Javascript - PullRequest
1 голос
/ 23 июня 2009

У меня есть HTML-страница и внешний файл JavaScript. Как получить доступ к значению тега input со страницы HTML в JavaScript? Мой HTML выглядит следующим образом:

<form name="formxml">
<input type="text" name="xmlname"/>
<input type="submit" value="Click me please" onclick="loadxml()"/>
</form>

В файле Javascript я пытался:

var name = document.formxml.xmlname.value

но это выдает ошибку "document.formxml не определен"

Что мне делать?

Ответы [ 6 ]

3 голосов
/ 23 июня 2009

Похоже, что внешние js еще не могут найти форму, потому что она анализируется до отображения страницы? Не уверен насчет этого, но помещение его в функцию и вызов функции на странице (когда загрузка завершена) работает:

function foo () {
  var name = document.formxml.xmlname.value;
  alert(name);
}

и

<form action="" method="post" name="formxml">
  <input type="text" name="xmlname" value="123" id="xmlname">
  <input type="button" onclick="foo();">
</form>
2 голосов
/ 23 июня 2009

возможно документ. формы .formxml.xmlname.value

2 голосов
/ 23 июня 2009

Вы можете использовать следующее после добавления атрибута id во входной тег

document.getElementById('id').value
1 голос
/ 07 марта 2013

Попробуйте это

<script>
    function yourfunction()
    {
       var x = document.getElementsByName("fieldname").value;
    }
</script>
1 голос
/ 23 июня 2009
var name = document.formxml.value; //Will not work in all browsers
var name = document.forms[0].xmlname.value; //safest if the form is the first on the page
var name = document.getElementById('inputId').value; //works in basically everything assuming the browser has DHTML (which is like everything).

Для последнего требуется, чтобы к вашему входному элементу был добавлен id = "inputId".

Также ваш код будет работать, предполагая, что форма существует, когда загружен внешний js (именно поэтому формы [0] будут работать здесь, а formxml - нет.

1 голос
/ 23 июня 2009

Вы также можете использовать:

var name = document.forms[0].xmlname.value; //where [0] means the first form on the page
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...