0

如果我有一个无钥匙阵列像这样的名称之一形式:serializeArray上无钥匙阵列输入

<form id="form"> 
    <input name="array[]" type="text" value="zero" /> 
    <input name="array[]" type="text" value="one" /> 
    <input name="array[]" type="text" value="two" /> 
    <input name="array[]" type="text" value="three" /> 
    <input name="single" type="text" value="something" /> 
</form> 

,我最终希望把在成多维数组在PHP中像这样:

Array ([array] => Array ([0] => zero [1] => one [2] => two [3] => three) [single] => something) 

如何在Javascript/jQuery中做到这一点,而无需发布表单数据?

注意:我将使用jQuery将任何获得的数据发送到PHP,并且不需要该部分的帮助。真的,我需要的是一种方法,用最终可以用PHP读取的方式打包表单数据。它似乎不像serializeArray()或serialize()可以做到这一点。在此先感谢您的帮助。

+0

在我看来,'序列化()'的伎俩[就好](http://jsfiddle.net/ndXRH/ )。 – kapa

+1

对不起队友,但如果你想用PHP来处理,你将不得不将表单发布到服务器。只需序列化表格 –

回答

1

使用$('#form').serialize()$.post一起完成你需要做什么。

例如:

$.post(url, $("#form").serialize()); 

我不知道怎么回事,你会表单数据发布表单数据!

+0

就像你和bažmegakapa说的那样,serialize()实际上在PHP端与parse_str()一起工作。谢谢您的帮助。 – Sam

+0

@Sam在服务器端不需要'parse_str' .... – Neal

0

像这样的东西会工作:

$.ajax({ 
    url: 'submit.php', 
    data: $('#form').serialize() 
}); 

$.post('submit.php', 
    $('#form').serialize() 
);