使用get请求将动态创建的输入值发送到PHP

时间:2010-12-15 18:07:58

标签: php jquery forms input get

我有一张表格。我允许用户通过按下按钮添加额外的输入:

$('#add_multi_item').click(function(){

                $('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id}).appendTo('#multi_responses');
                next_add_id++;
            });

我的表单提交方式如下:

$("#add_form").bind('submit', function(event){ 
         event.preventDefault();
         $.get('file.php', {poll_type_select: $("#poll_type_select option:selected").val(), question_input: escape($("#question_input").val()), type: "add_poll", user_id:user_id}, function(data) {
                    $('#added').show().html(data);
                    $('#added').hide(7000);
                    $('#question_input').val('');
                    loadList();
                });
    });

如何将这些动态创建的输入值添加到get请求中?我想有些人会使用名字数组进行发布,但我可以做类似的事吗?另外我认为我必须在发送之前逃避()所有输入,以防止在添加到数据库时出错。

我想的一个选项是发送一个值,一个用以下内容创建的分隔字符串:

$("#multi_responses input").each(string+=escape($(this).val())+"delimiter");

但我不知道这是不是最好的方法。如果我这样做,使用什么典型的分隔符?

感谢。

1 个答案:

答案 0 :(得分:0)

没错,您只需要为这些输入提供name属性,例如:

$('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id, 'name': 'response_input[' + next_add_id + ']'}).appendTo('#multi_responses');