Как я могу передать значение HTML-формы в JavaScript?
Это верно? Мой скрипт принимает два аргумента: один из текстового поля, один из раскрывающегося списка.
<body>
<form name="valform" action="" method="POST">
Credit Card Validation: <input type="text" id="cctextboxid" name="cctextbox"><br/>
Card Type: <select name="cardtype" id="cardtypeid">
<option value="visa">Visa</option>
<option value="mastercard">MasterCard</option>
<option value="discover">Discover</option>
<option value="amex">Amex</option>
<option value="diners">Diners Club</option>
</select><br/>
<input type="button" name="submit" value="Verify Credit Card" onclick="isValidCreditCard(document.getElementById('cctextboxid').value,document.getElementById('cardtypeid').value)" />
</body>
javascript
html
user377419
источник
источник
Ответы:
HTML:
JS:
источник
nameValue
это значение по умолчанию, а не то, что ввел пользователь.Если вы хотите получить значения формы (например, те, которые будут отправлены с помощью HTTP POST), вы можете использовать:
JavaScript
форма-сериализация ( https://code.google.com/archive/p/form-serialize/ )
jQuery
источник
FormData
сам по себе ничего не делает ... вам все равно нужно получить значения из формы.FormData.entries()
, чтобы получить значения. Кроме того,FormData.entries()
он недоступен в Safari, Explorer или Edge. developer.mozilla.org/en-US/docs/Web/API/FormDataformData.entries()
, это зависит от того, что вы ищете. Если вы ищете значение одного поля, вы можете использоватьformData.get(name)
. Ссылка: get () .FormData
ничего выводить в Chrome.Вот пример из W3Schools:
Демо можно найти здесь .
источник
var obj = {};
наvar obj = [];
.obj
, независимо от того, какой из них выбран. Проблема демонстрируется здесь (выберите «Вариант 1») w3schools.com/code/tryit.asp?filename=GEZXJXBBI7AWdocument.forms
будет содержать массив форм на вашей странице. Вы можете просмотреть эти формы, чтобы найти желаемую форму.Каждая форма имеет массив элементов, который затем можно просмотреть в цикле, чтобы найти нужные данные. Вы также должны иметь доступ к ним по имени
источник
Мои 5 центов здесь, использование
form.elements
которых позволяет вам запрашивать каждое поле по немуname
, а не только по итерации:источник
Расширяя идею Атрура Клесуна ... вы можете просто получить к нему доступ по его имени, если вы используете getElementById для доступа к форме. В одной строке:
Я использовал его так для переключателей и работал нормально. Думаю, здесь то же самое.
источник
Это разработанный пример https://stackoverflow.com/a/41262933/2464828
Рассматривать
Предположим, мы хотим получить ввод имени
formula
. Это можно сделать, передавevent
вonsubmit
поле. Затем мы можем использоватьFormData
для получения значений этой точной формы, ссылаясь наSubmitEvent
объект.Приведенный выше код JavaScript затем выведет значение ввода в консоль.
Если вы хотите перебрать значения, т. Е. Получить все значения, см. Https://developer.mozilla.org/en-US/docs/Web/API/FormData#Methods.
источник
Несколько простых в использовании сериализаторов форм с хорошей документацией.
В порядке звезд на Github,
jquery.serializeJSON
jquery-сериализовать объект
form2js
форма-сериализация
источник
Пожалуйста, попробуйте изменить код, как показано ниже:
источник
Быстрое решение для сериализации формы без каких-либо библиотек
источник
источник