动态获取textbox id jquery php

时间:2011-02-14 17:40:46

标签: php jquery textbox

http://jsfiddle.net/boyee007/kS6Vr/

如何使用jquery ajax将其传递给PHP

来检索动态文本框ID

JQUERY 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;

1 个答案:

答案 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之前检查它