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

错误 #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。使用不同的!也用于名称属性


错误 #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 回答
0

我想你在寻找.serialize. 请参阅api

尝试这样的事情:

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

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

});

请记住,我用于隐藏输入的选择器可以由您更改为更具体,也许通过使用表单 id。

于 2012-10-04T08:34:53.200 回答
0

这会将您的所有表单数据发布到 ajax.php。你必须给你的<form>标签一个 id(在这种情况下它的 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 回答