使用PHP和JQuery序列化和参数返回问题
我有以下代码:使用PHP和JQuery序列化和参数返回问题,php,jquery,parameters,Php,Jquery,Parameters,我有以下代码: var data_str = $('form').serialize(); alert(data_str); $("#SerializeTXT").text(data_str).show(); $.ajax( { type: 'POST', url: 'test.php', data: data_str, success: function(data) { $(
var data_str = $('form').serialize();
alert(data_str);
$("#SerializeTXT").text(data_str).show();
$.ajax( {
type: 'POST',
url: 'test.php',
data: data_str,
success: function(data) {
$('#result').html(data);
}
});
下面是我的test.php和结果:
<?php print_r($_POST);?>
在我得到的那份工作中
itemIDhidden=2640&SelectQt=1&Bread=Black+Bread_0&Cheese=American_0&Toppings=Sauteed+Mushrooms_0&Toppings=Fried+Onions_0&Toppings=Bacon_0&Description=TWSTE+3+45+T4
您可以看到post只获取多个选定元素的最后一个元素。在SerializeTXT div中,我得到了从表单中选择的内容
有什么想法吗?我如何获得php文件中的所有这些参数
提前谢谢。将您的
选择元素名称从Toppings
更改为Toppings[]
<select name="Toppings" ...
将选择的元素名称从Toppings
更改为Toppings[]
<select name="Toppings" ...
test.php
打印(邮政美元);返回
数组([itemIDhidden]=>2643[SelectQt]=>1[Bread]=>Multi-Grain Bun\u 0[奶酪]=>American\u 0,Swiss\u 0[配料]=>Fried Onions\u 0,Bacon\u 0,Raw Onion\u 0[说明]=>测试[CancelItemForm]=>Cancel[BasketItem]=>确认)
这个数组可以在PHP文件中轻松操作。我希望这对外面的一些人有所帮助
test.php
打印(邮政美元);返回
数组([itemIDhidden]=>2643[SelectQt]=>1[Bread]=>Multi-Grain Bun\u 0[奶酪]=>American\u 0,Swiss\u 0[配料]=>Fried Onions\u 0,Bacon\u 0,Raw Onion\u 0[说明]=>测试[CancelItemForm]=>Cancel[BasketItem]=>确认)
这个数组可以在PHP文件中轻松操作。我希望这有助于外部的一些人谢谢你的回答,但是那些选择字段是由代码创建的,我不知道它们的名称。另外,它也不起作用。@Obichamte2如果代码在名称中未使用[]
而生成了多重选择,则代码是错误的。感谢您的回答,但这些选择字段是由代码创建的,我不知道它们的名称。此外,它也不起作用。@Obichamte2如果代码在名称中未使用[]
而生成了一个多选,则代码是错误的。
<select name="Toppings[]" ...
var form = $('form');
var data_str = '';
form.find('input, select, textarea').each(function()
{
data_str += $(this).attr('name')+'='+$(this).val()+'&';
});
$.ajax( {
type: 'POST',
url: 'test.php',
data: data_str,
success: function(data) {
$('#result').html(data);
}
});
};