http://jsfiddle.net/boyee007/kS6Vr/
如何使用jquery ajax将其传递给PHP
来检索动态文本框IDJQUERY AJAX:
$("#book_event").submit(function(e) {
$(this).find('input[id^=textbox]').each(function(i, e) {
$.post("Scripts/book_event.php", { att_name: $(e).val() }, function(data) {
if (data.success) {
$("#err").text(data.message).addClass("ok").fadeIn("slow");
} else {
$("#err").text(data.message).addClass("error").fadeIn("slow");
}
}, "json");
});
e.preventDefault();
});
如何使用PHP获取这些ID:
if(!$_POST['submit']) :
$att_name = trim($_POST['att_name']);
endif;
答案 0 :(得分:2)
我会将所有文本框输入收集到一个javascript数组中,然后将其发送到php脚本。这样你就只有一个ajax调用而不是n。
var input_array = {events:[]};
$("#book_event").submit(function(e)
{
$(this).find('input[id^=textbox]').each(function(i, e)
{
input_array.events.push(e.val());
});
//send array via ajax
$.ajax
({
url: "Scripts/book_event.php",
type:"POST",
data:JSON.stringify(input_array),
contentType: 'application/json; charset=utf-8',
dataType:"json",
success:function(data){//func on success},
error:function(data){//func on error}
});
e.preventDefault();
});
现在,在服务器端,您必须检索已发送的json对象:
$dto = json_decode($GLOBALS["HTTP_RAW_POST_DATA"]);
foreach($dto->events AS $event)
{
//do your work here
}
//output response
我认为应该直接阅读安全问题HTTP_RAW_POST_DATA
,最好在解码到json之前检查它