Javascript 通过AJAX传递多个值

Javascript 通过AJAX传递多个值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我一直在通过Codeigniter中的AJAX调用传递多个值 我的看法是: <script> $( document ).ready(function() { var current_id = 0; $('#btn').click(function(){ nextElement($('#Outer_00')); }) function nextElement(element){ var newElement = element.clone()

我一直在通过Codeigniter中的AJAX调用传递多个值

我的看法是:

<script>
$( document ).ready(function() {

    var current_id = 0;
 $('#btn').click(function(){
     nextElement($('#Outer_00'));
 })

 function nextElement(element){
     var newElement = element.clone()
     .find("input:text").val("").end();

     var id = current_id+1;
     current_id = id;
     if(id <10)id = "0"+id;

     $('input', newElement).attr("id", id );
     newElement.appendTo($("#elements"));
            if($('#elements').find('div').length=='5')
    {
    $('#btn').prop('disabled',true);
    }
 }


$('#exercises').on('click', '.remove', function() {
if($('#elements').find('div').length<'6')
{

$('#btn').prop('disabled',false);
}
  if($('#elements').find('div').length=='1')
{
    $('.remove').addAttr("disabled",true);
}

$(this).parent().remove();

return false; //prevent form submission
});
});
</script>
如何传递文本框的多个值?上面的代码正在将值传递给控制器。但单击“x”按钮时,文本框的值被删除,但文本框的id正在增加,因此我无法通过AJAX将更多的文本框值传递给控制器。请帮我过来。

不要做:

 data: {Name:$("#Name").val(), Phone: $("#Phone").val(), email: $("#email").val(),
                             birthday: $("#birthday").val(), bornIn: $("#bornIn").val(),
                             CurrentlyLocated: $("#CurrentlyLocated").val(), KeySkills: $("#KeySkills").val(),
                             Audio1: $("#00").val(), Audio2: $("#01").val(), Audio3: $("#02").val(),Audio4: $("#03").val(), Audio5: $("#04").val(),
                             }, 
你可以随心所欲

data:$("#Form_id").serialize(); // all form data will be passed to controller as Post data.

如果您有一个remove按钮,那么按id获取值可能会导致js错误,为什么不使用html元素数组:

<div id="elements">
<div id="Outer_00">
Audio:  <input type="text" name="audio[]" value="">
<input type="button" class="remove" value="x"></button>
</div>
</div>

音频:
这很简单:

考虑您想要传递:用户名、姓氏和国家。这些是 三个输入框:

使用Jquery执行以下操作:

Javascript端

在将处理查询的模型或控制器中

在您的情况下,只需传递所需的参数。我使用CodIgniter和 这个方法很好用


考虑到我想在数据库中插入这些数据,我怎样才能在控制器中获取这些数据呢?你们可以用通常的方法获取。像
$\u POST[“Phone”]
我试过这个,Controller:-var queryString=$('#form1')。serialize();视图:-$queryName=$this->input->post('queryString');变量转储($queryName);但这不起作用,希望是打字错误。视图:-var queryString=$('#form1').serialize();控制器:-$queryName=$this->input->post('queryString');变量转储($queryName);根据您的代码,没有
queryString
。因此,您必须使用有效的字段名进行检查。var queryString是我通过ajax调用传递的变量。在控制器中,我正在获取相同的数据。对吗?若不建议将form1 formName、var queryString作为变量传递给控制器作为解决方案。
data:$("#Form_id").serialize(); // all form data will be passed to controller as Post data.
<div id="elements">
<div id="Outer_00">
Audio:  <input type="text" name="audio[]" value="">
<input type="button" class="remove" value="x"></button>
</div>
</div>
$.post("url",{name:name,surname:surname,country:country},
function(data){
  console.log("Query success");
});
$name=$this->input->post("name");
$surname=$this->input->post("surname");
$country=$this->input->post("country");