我一直在搞乱两种形式,并希望将它们结合起来。每个表单都有一个单独的JS。
我希望能够采用表格#1中的值并将它们放在表格#2的答案中。
有人可以帮忙吗?
表单#1
$(window).load(function(){
jQuery(function($) {
var multiTags = $("#multi");
function handler(e) {
var jqEl = $(e.currentTarget);
var tag = jqEl.parent();
switch (jqEl.attr("data-action")) {
case "add":
tag.after(tag.clone().find("input").val("").end());
break;
case "delete":
tag.remove();
break;
}
return false;
}
function save(e) {
var tags = multiTags.find("input.tag").map(function() {
return $(this).val();
}).get().join(',');
alert(tags);
return false;
}
multiTags.submit(save).find("a").live("click", handler);
});
});
</script>
表格#2
$(document).ready(function(){
$('.submit').click(function(){
var answers = [];
$.each($('.field'), function() {
answers.push($(this).val());
});
if(answers.length == 0) {
answers = "none";
}
alert(answers);
return false;
});
});
答案 0 :(得分:0)
我会将我的评论作为答案,并详细说明。
我制作了一个simple little fiddle,您可以将其作为跳跃点。基本上,它将获取页面上所有输入值并将它们分配给变量。从那里,您的脚本可以将该变量发送到您处理所有内容的邮件程序脚本...
var data = "";
$("input").each(function(index, element) {
data += $(this).val() + ", ";
});
alert(data);
该脚本会查找所有<input>
代码,然后通过.val()
从中获取值。在您的表单中,您可以点击$("input[type=submit]").click(function(){ ... });
运行此操作,其中...
将是上面的代码。显然,你不想提醒用户在框中输入的内容(毕竟他们输入了它),所以你然后将该变量传递给你的邮件脚本(我会谷歌如何做到这一点,因为您的邮件程序脚本可能是用PHP编写的,所以google就像pass jQuery variable onto PHP
)。
小提琴:http://jsfiddle.net/charlescarver/4AfTR/2/
是否有办法对输入进行分组,以便数据仅使用输入框1,2,3(例如)。
是的,这一行......
$("input")
...查找页面上的所有<input>
标记。如果您只希望<input>
框1
,2
和3
将其值分配给变量,请为其提供一个类并将"input"
更改为{ {1}}。例如,".classname"
只会将$(".tag")
个包含<input>
类的框分配给变量(.tag
)。