使用 jQuery 动态获取输入字段的值,并使用 PHP 处理它们

Dynamically get value of input fields with jQuery and process them with PHP

本文关键字:PHP 处理 动态 jQuery 获取 输入 字段 使用      更新时间:2023-09-26

我正在处理一个页面,其中显示不同的输入字段,具体取决于用户所做的选择。

示例 1:

<input type="text" name="color" value="" id="5">
<input type="text" name="location" value="" id="6">
<input type="text" name="age" value="" id="7">

示例 2:

<input type="text" name="color" value="" id="5">
<input type="text" name="destination" value="" id="8">
<input type="text" name="hours" value="" id="9">
<input type="text" name="date" value="" id="10">

问题1:当输入字段本身是动态的时,如何使用 jQuery 获取所有输入字段?

问题2:在服务器端,我想使用输入字段的值和 ID 处理输入字段。我怎样才能使这种动态?

我知道当一切都修复后,这可以很容易地完成,例如:

var color =  $('#color').val();
var destination = $("#destination").val();
var dataString = 'color=' + color + "&destination=" + destination;
$.ajax({  
       type: "GET",  
       url: "do_something.php",  
       data: dataString,  
       async: false,
       success: function(data){
          console.log('success');
       }
});
您可以使用

.serialize()来创建数据字符串。它将动态获取表单的所有数据,并将其转换为字符串,就像您尝试构建的那样:

$.ajax({  
       type: "GET",  
       url: "do_something.php",  
       data: $("form").serialize(),  
       async: false,
       success: function(data){
          console.log('success');
       }
});

.serialize()文档 : http://api.jquery.com/serialize

请注意,如果 DOM 中有多个表单,则可能需要优化$("form")选择以使其更具体。

至于你的第二个问题,你通常应该将SO上的问题保留为每个帖子一个问题。话虽如此,您应该将 ID 属性设置为 value 属性,这样它将在提交表单时传递给 PHP 脚本,ID将丢失,因为它不与表单一起传输。

如果我理解得很好,你的第一个问题是你想用jquery获取动态输入的值和id。Yo 可以做到这一点,将 dinamic 输入全部插入同一个div 中,然后简单地执行以下操作:

var data = new Array();
$("#id-div input").each(function() {
    data.push({id: $(this).attr("id"), value: $(this).attr("value")});
});