2013-11-06 2 views
4

Я следующий вид:Превратить форму в ассоциативный массив в Jquery

<form id="editForm"> 
<input class="span12" name="name" type="text" placeholder="Product name..."> 
<input class="span12" name="sku" type="text" placeholder="SKU..."> 
<input name="basePrice" class="span12" type="text" placeholder="Base price..."> 
</form> 

Как превратить это в ассоциативный массив, который можно получить, как следующий?

formArray [ 'имя'], formArray [ 'ы'] ... и т.д.

+0

С кодом, я считаю. – Mathletics

+0

Другими словами, вам нужен объект с парами ключ/значение. Вам придется сделать это вручную, итерации по входам формы или доступа к ним 1 на 1. –

+1

@ imperium2335 Правильно, поэтому я не предлагал serializeArray. –

ответ

12

Вот мертвой простой способ:

$.fn.form = function() { 
    var formData = {}; 
    this.find('[name]').each(function() { 
     formData[this.name] = this.value; 
    }) 
    return formData; 
}; 

// use like 
var data = $('#editForm').form(); 

Это совершенно небезопасно и просто захватывает все с именем , но он должен вас начать.

+0

Это потрясающий ответ. Просто проверьте значения на стороне сервера, и вы хороши. – ptpcg

Смежные вопросы