1

私はそれを行う方法を理解することができます。

私はいくつかの隠されたフィールドを持っています

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">

など。アイデアは、このようにajaxを介してデータを渡すことです。

var id = $('input').attr('name')
$.post('http://foobar.com/ajax.php', {ids : ids, order: order}, function(data){

});

私が理解できないのは、データを収集する方法です。

ajax.phpの反対側では、このような値を取得したくありません

echo $_POST['order_1'];
echo $_POST['order_2'];
......
etc
4

4 に答える 4

0

を探していると思います.serializeAPIを参照してください。

次のようなことを試してください:

var postData = $('input:hidden').serialize();

$.post('http://foobar.com/ajax.php', postData, function(data){

});

非表示の入力に使用したセレクターは、おそらくフォーム ID を使用して、より具体的に変更できることに注意してください。

于 2012-10-04T08:34:53.200 に答える
0

これにより、すべてのフォーム データが ajax.php にポストされます。タグに idを指定する必要があります<form>(この場合は id='formId')。

$.post('http://foobar.com/ajax.php', $('#formId').serializeArray());

次の方法で ID をリクエストできます。

$ids = $_POST['ids'];
于 2012-10-04T08:35:09.517 に答える
0

値を渡すには

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">


var ids_arr = new Array();
 $("input[name='ids[]']").each(function() {
    ids_arr.push( $(this).val() );
 });
$.post('http://foobar.com/ajax.php', {"ids" :ids_arr , "order_1": $('#order_1').val(),"order_2":$('#order_2').val(),"order_3":$('#order_3').val()}, function(data){

});

PHP側で値を取得するため

echo $_POST['order_1'];
echo $_POST['order_2'];
echo $_POST['order_3'];
var_dump($_POST['ids']);
于 2012-10-04T08:36:17.570 に答える
0

間違い#1

<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">

する必要があります

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">

間違いその2

同じIDを永遠に使用することはありません。別のものを使用してください!name 属性にも


間違いその3

あなたは合格します

$.post('http://foobar.com/ajax.php', {ids : ids

それ以外の

$.post('http://foobar.com/ajax.php', {ids : id


アップデート

仮定

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

および js: var yourArray = [];

$.each($("input[type='hidden']"), function(key, value){
  yourArray.push($(this).attr("name"));
});

ajaxに渡す

$.post('http://foobar.com/ajax.php', {ids : yourArray ...

于 2012-10-04T08:26:47.080 に答える