jQuery的无法处理克隆输入域

问题描述:

我有一些代码克隆输入字段直接之前的克隆“按钮”重命名字段的ID和名称,因为它去(如下所示): -jQuery的无法处理克隆输入域

$(".clone").live('click', function() { 
var doppleganger = $(this).prev(); // Neater referencing. 
    $(doppleganger).clone().insertAfter(doppleganger); 

$(this).prev().attr("id", "input" + increment).attr("name", "input" + increment); 

    increment++; 

return false; 

}); 

。 形式(#adv_magic)数据加载与jQuery的AJAX事件飞正是如此提交: -

$("#adv_magic").live('submit', function() { 

$("#editor_button, #date_select, #search").hide(); 
$(".loader").show(); 

$.ajax({ 
    type: "POST", 
    url: "./scripts/aquire_template.php", 
    data: $("#adv_magic").serialize(), 
    success: function(html){ 
     $("#right_container").empty(); 
     $(".loader").fadeOut(350); 
      $("#right_container").html(html); 
    } 
}); 
return false; 

}); 

然而,当表单发送到我的剧本我的克隆输入字段没有被处理。我已经看过一些有关将输入字段创建为数组的教程,但是如果还有其他事情可以做,我宁愿不要在这个阶段搞乱。

我想知道如果这是与我的序列化表单的方式?遗憾的是,我无法在这个场合发布完整的代码或链接,因为该应用程序在网络上不可用。任何想法都会非常感谢!我很难过!

更新周六10日20:31 GMT> ,我从萤火控制台>后标签以下报告: -

input1 meeting 
input2 select date 
input3 enter text 
input5 NUMBER MISSING 
input6 enter text 
input7 test 
switch 1 

Source 
input1=meeting&input2=select+date&input3=enter+text&input6=enter+text&input7=test&input5=NUMBER+MISSING&switch=1 

输入5/6/7克隆元素,因此推测它们是被传递给脚本?

更新星期六十月21:06 GMT> 在脚本处理它之前回显字符串变量显示非克隆的输入字段。

+0

第一件事总是检查浏览器控制台Ajax请求,并期待在发送参数...帮助判断它的客户端或服务器端的问题 – charlietfl 2012-03-10 20:06:28

+0

说实话,我已经不知道如何检查或在FF 10+中的位置? – KryptoniteDove 2012-03-10 20:13:17

+0

如果你有Chrome浏览器打F12或在FF安装Firebug .. Firebug我最喜欢的 – charlietfl 2012-03-10 20:18:00

这一个为我工作。

<form id="myForm"> 
    <fieldset> 
     <input type="text" id="input1" name="input1"/><input type="button" value="clone" class="clone"/> 
    </fieldset> 
    <input type="submit" value="submit" id="sbmt"/> 
</form> 


$(".clone").live("click", function(e) { 
    var count = $("#myForm fieldset").length + 1; 
    $(this).parent().clone().insertBefore("#sbmt").find("input[type=text]").attr({ 
     "id": "input" + count, 
     "name": "input" + count 
    }).val(""); 
}); 


$("#myForm").submit(

function(e) { 
    e = e || window.event; 
    e.preventDefault(); 

    $.ajax({ 
     type: "GET", 
     url: "/", 
     data: $("#myForm").serialize(), 
     success:function(data){ 
     } 
    }); 
    return false; 

}); 

演示:http://jsfiddle.net/wFzx5/2/

+0

我是给出一个好的答案,因为这将毫无疑问有助于未来的人,只是在这种情况下不为我工作。 – KryptoniteDove 2012-03-12 10:42:22