我有HTML,看起來像這樣:JQuery的,序列化的HTML陣列
<form id="kinodForm">
<input type="text" name="element[5]" value="krispy kreme" />
<input type="text" name="element[6]" value="in" />
<input type="text" name="element[7]" value="n" />
<input type="text" name="element[8]" value="out" />
<input type="text" name="element[9]" value="drive" />
</form>
而且一些JavaScript看起來像這樣:
$(document).ready(function(){
var kinod = $('#kinodForm').serializeArray();
$.post('test.php', {form: kinod}, function(data){
console.log(data);
});
});
的PHP腳本Ajax請求勢必很簡單:
<?php print_r($_POST); ?>
將發佈請求的結果記錄到控制檯。它的輸出是這樣的:
[form] => Array (
[0] => Array ([name] => element[5] [value] => 'krispy kreme')
[1] => Array ([name] => element[6] [value] => 'in')
[2] => Array ([name] => element[7] [value] => 'n')
[3] => Array ([name] => element[8] [value] => 'out')
[4] => Array ([name] => element[9] [value] => 'drive')
)
這個輸出是不完美的,因爲我希望能夠做到這一點在PHP腳本上面沒有正則表達式:
<?php
$form = $_POST['form'];
foreach($form as $id => $value){
echo 'element['.$id.'] -> '.$value.'<br>';
}
?>
此代碼顯然會使用值爲{0,1,2,3,4}
爲$id
,我希望它們保持與HTML表單中定義的相同。我覺得我不應該解析的HTML數組ID。建議?
乾杯!有時我想知道我的大腦在哪裏流淌。 – 2011-12-15 14:05:46