我有一些代码可以直接在克隆'按钮'之前克隆输入字段,重命名字段的id和名称(如下所示): -
$(".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;
});
。 使用jquery ajax事件即时加载表单(#adv_magic)数据并提交: -
$("#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秒格林威治标准时间> 我从控制台获得了以下报告> firebug中的帖子标签: -
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是克隆元素,所以可能它们被传递给脚本?
更新星期六10点21分06:06 GMT> 在脚本处理字符串变量之前回显该字符串变量,不会显示克隆的输入字段。
答案 0 :(得分:1)
这个对我有用。
<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;
});