JavaScript-получение значений HTML-формы


Как я могу получить значение 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>
6   51   2010-08-23 15:22:11

6 ответов:

HTML:

<input type="text" name="name" id="uniqueID" value="value" />

JS:

var nameValue = document.getElementById("uniqueID").value;

документ.формы будут содержать массив форм на Вашей странице. Вы можете перебирать эти формы, чтобы найти конкретную форму, которую вы хотите.

var form = false;
var length = document.forms.length;
for(var i = 0; i < length; i++) {
    if(form.id == "wanted_id") {
        form = document.forms[i];
    }
}

каждая форма имеет массив элементов, которые затем можно перебирать, чтобы найти нужные данные. Вы также должны иметь доступ к ним по имени

var wanted_value = form.someFieldName.value;
jsFunction(wanted_value);

Если вы хотите получить значения формы (например, те, которые будут отправлены с помощью HTTP POST), вы можете использовать

JavaScript

new FormData(document.querySelector('form'))

форма-сериализация (https://code.google.com/archive/p/form-serialize/)

serialize(document.forms[0]);

jQuery

$("form").serializeArray()

вот пример из W3Schools :

function myFunction() {
    var elements = document.getElementById("myForm").elements;
    var obj ={};
    for(var i = 0 ; i < elements.length ; i++){
        var item = elements.item(i);
        obj[item.name] = item.value;
    }

    document.getElementById("demo").innerHTML = JSON.stringify(obj);
}

демо можно найти здесь.

<input type="text" id="note_text" />

let value = document.getElementById("note_text").value;

несколько простых в использовании сериализаторов форм с хорошей документацией.

в порядке звезд Github,

  1. jquery.сериализейсон

  2. jquery-serialize-object

  3. form2js

  4. форма-сериализовать