将表单元素添加到一个表单元素
问题描述:
可以说我正在创建表单。而其地址表单,表单元素这样:
field 1/house number
field 2/street name
field 3/suburb
etc etc etc
,并在表格填写人,:
1
smith street
townsville
我想要什么(类似堆栈溢出生活形式) 是另一种形式的元素,中传播表单字段项生活,但与文字代替空格:
所以它看起来像:1+snith+street+townsville
随着海在最后的rch按钮。然后触发我们已经完成的脚本的其余部分,它基本上抓取地址的纬度和长度,并显示一个gmap。
这基本上就是这样,但我们需要所有这一切都发生在表单上,并在提交之前。
任何帮助赞赏,都问了其他几个地方。没有喜悦,但总是使用* .. 感谢Ozzy
答
$('#my_form input').change(function() {
var new_text = '';
$('#my_form input').each(function() {
new_text += $.trim($(this).val()).replace(' ', '+') + '+';
});
$('#my_display').val(new_text);
});
答
这里的东西,可能工作。 。 。
$(document).ready(function(){ $('body').live('keypress', function (event) { if ($(event.target).hasClass('form-element')) { var text; $('#yourform input.form-element').each(function() { text += $(this).attr('value') + '+'; }); $('#yourtargetelementthatwillholdallthenames').attr('value', text.substring(0,text.length - 1)) } }); });
我还没有在浏览器中试过这个,但给它一个镜头。它可能需要针对您的需求进行调整。
+0
请问你能解释一下吗? – 422 2010-11-08 22:35:28
答
如果您提交此一搜索,使用encodeURIComponent()
代替你需要编码,这样一切:
$("#form1 input[type=text]").bind("keyup change", function() {
var vals = $("#form1 input[type=text]").map(function() { return this.value; });
$("#otherField").val(encodeURIComponent(vals.join(" ")));
});
” ......已经问了好几个其他地方没有的快乐,但总使用*上。 “ - 我试图理解这一点,而且这一天可能会让我感到困扰。 – 2010-11-08 21:39:41