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

使用get请求将动态创建的输入值发送到PHP,php,jquery,forms,input,get,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_multi_item').click(function(){

                $('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id}).appendTo('#multi_responses');
                next_add_id++;
            });
如何将这些动态创建的输入值添加到get请求中?我猜有些人会在帖子中使用名称数组,但我可以做类似的事情吗?此外,我认为我必须在发送输入之前转义()所有输入,以防止在添加到数据库时出错

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

$("#multi_responses input").each(string+=escape($(this).val())+"delimiter");
但我不知道这是不是最好的办法。如果我这样做,典型的分隔符是什么


谢谢。

没错,您只需为这些输入提供一个
名称
属性,如:

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

Add使用POST而不是GET。我同意POST方法,但事实上,如果vee想要发出ajax请求,正确的做法是阻止表单提交——但正如jm所说,POST会更好。感谢您的回复。我现在理解了这一部分,但是如何通过get请求发送名称数组呢?这不起作用:“'multi_responses[]”:$(“#add_form input[name=response_input[]”)val()。我之所以通过ajax而不是默认方式提交表单,有几个原因:首先,我不希望它重定向到新页面,我正在将响应添加到div,其次,我正在使用js中的escape()修改一些字段,第三,我正在发送一个js变量(user_id)和请求。但是在ajax请求中,POST比GET有什么优势?POST请求将是最正确的方式,但是没有绝对的规则表明“POST比GET好”。这更像是一个相对的问题,取决于每种情况的特点。我想这是另一个讨论。
$('<input />').attr({'type':'text', 'id':'response_input_' + next_add_id, 'name': 'response_input[' + next_add_id + ']'}).appendTo('#multi_responses');