Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取动态字段值-jQuery_Jquery_Html_Forms_Dynamic Forms - Fatal编程技术网

如何获取动态字段值-jQuery

如何获取动态字段值-jQuery,jquery,html,forms,dynamic-forms,Jquery,Html,Forms,Dynamic Forms,我对jQuery非常陌生,不知道如何实现这个场景 例如,如果我有一个表单,在一个原始名称和电子邮件中有两个文本框。右边是一个加号按钮,用户可以按下该按钮,下面将创建另一个raw,其中包含两个字段名称和电子邮件,第二个raw将在右边有一个X按钮,用户可以单击该按钮,该raw将被删除 姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:\uuuuuuuuuuuuuuuuuuuu+ 姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:

我对jQuery非常陌生,不知道如何实现这个场景

例如,如果我有一个表单,在一个原始名称和电子邮件中有两个文本框。右边是一个加号按钮,用户可以按下该按钮,下面将创建另一个raw,其中包含两个字段名称和电子邮件,第二个raw将在右边有一个X按钮,用户可以单击该按钮,该raw将被删除

姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:\uuuuuuuuuuuuuuuuuuuu+

姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:\uuuuuuuuuuuuuuuuuuuuuuuuX

姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:\uuuuuuuuuuuuuuuuuuuuuuuuX

姓名:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu电子邮件:\uuuuuuuuuuuuuuuuuuuuuuuuX


  • 保存-
表单底部有一个保存按钮。当用户按下它时,所有框中的值都会被获取并保存。。。这不是问题

我的问题是,当我按save时,我应该如何实现动态字段并从字段中选择值?

请尝试以下代码:

   $(document).on("click",".add",function(){
       //take the id
       var id = parseInt($(this).attr('id').substr(4));
       id = id+1;
       //add new row I don't know if you have a table or div layout

       $(this).after('<p><input type="text name="name_'+id+'" id="name_'+id+'"/> <input type="text" name="email_'+id+'" id="email_'+id+'"/><input type="button" id="remove_'+id+'" class="remove" value="X"/><input type="button" class="add" id="add_'+id+'" value="+" /></p>');
    });
    $(document).on("click",".remove",function(){
       //take the id
       var id = $(this).attr('id').substr(7);
       //delete
       $("#name_"+id).remove();
       $("#email_"+id).remove();
       $("#add_"+id).remove();
       $("#remove_"+id).remove();
    });
$(文档)。在(“单击“,”.add“,函数()上){
//拿身份证
var id=parseInt($(this).attr('id').substr(4));
id=id+1;
//添加新行我不知道您是否有表或div布局
$(此)。之后('


如果
保存
意味着向服务器发送数据,您可以使用jQuery
serialize()序列化整个表单。

示例AJAX提交:

$(function(){
    $('#myForm').submit(function(){
       $.post('/path/to/server/', $(this).serialize(), function(response){
          /*do something with response if needed*/
       });
       /* prevent browser default submit*/
       return false;
    });
});
API参考:


如果
save
意味着本地存储可以使用
serializeArray()

太棒了!!!当你选择保存按钮上的值时会怎么样?我知道你有一个带有名称id、电子邮件id的模式。如果我有7行,将有名称1电子邮件1、名称2电子邮件2、名称3电子邮件3…名称7电子邮件7,用户将删除名称5电子邮件5,这样会有一个间隙…我想我应该使用一个数组来存储创建id时删除id,然后在删除id时删除id,然后迭代数组并根据数组中的id获取值…对吗?通常我使用ajax和带有增量id的foreach的文件php,在这种情况下保存它之后,无论表单中有多少行将被序列化?我的意思是,在这种情况下,我们有一个间隙In id列表1,2,3,4,6,7…?正确…,只要字段有一个必须提交给服务器的名称
$(function(){
    $('#myForm').submit(function(){
       $.post('/path/to/server/', $(this).serialize(), function(response){
          /*do something with response if needed*/
       });
       /* prevent browser default submit*/
       return false;
    });
});