Показать сообщение отдельно
  #3 (permalink)  
Старый 02.07.2013, 14:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<form id="form">
    <input type="text" name="n1" value="abc">
    <input type="text" name="n2" value="cde">
    <input type="text" name="n3" value="bla">
    <input type="text" name="n4" value="xyz">
    <button onclick="getData(); return false;">Get Data</button>
</form>
<script>
    function serializeForm(form) {
        var elements = Array.prototype.slice.call(form.elements);
        var data = {};
        elements.forEach(function(element){
            if (element.tagName.toLowerCase() == 'input' && element.name)
                data[element.name] = element.value;
        });
        return data;
    }
    
    function getData() {
        var data = serializeForm(document.forms.form);
        
        alert(Object.keys(data).map(function(key){return key + ':' + data[key]}));
        return false;
    }
</script>

Не будет работать в старых браузерах. Хотя это легко исправить.

Последний раз редактировалось danik.js, 02.07.2013 в 14:56.
Ответить с цитированием