将表单元素添加到一个表单元素

问题描述:

好吧,将表单元素添加到一个表单元素

可以说我正在创建表单。而其地址表单,表单元素这样:

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

+0

” ......已经问了好几个其他地方没有的快乐,但总使用*上。 “ - 我试图理解这一点,而且这一天可能会让我感到困扰。 – 2010-11-08 21:39:41

$('#my_form input').change(function() { 
    var new_text = ''; 
    $('#my_form input').each(function() { 
    new_text += $.trim($(this).val()).replace(' ', '+') + '+'; 
    }); 
    $('#my_display').val(new_text); 
}); 
+0

您能否以此为例编写脚本? – 422 2010-11-08 22:37:37

+0

对不起,我在代码中只做了一些修改。虽然在jsfiddle上检查了这一点。它应该是你需要的http://jsfiddle.net/mrK4T/ – 2010-11-08 22:56:47

+0

干杯亚伦,这几乎100%我们是否也可以添加搜索按钮。 ? – 422 2010-11-08 23:04:59

这里的东西,可能工作。 。 。

 
$(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(" "))); 
}); 
+0

你能举个例子吗? – 422 2010-11-08 22:36:31

+0

@ user501173 - 这就是上面的答案... – 2010-11-08 22:39:26

+0

对不起尼克,我的意思是打个演示。我对js或jQuery不太了解。而不知道如何将侦听器绑定到表单元素。 – 422 2010-11-08 23:06:52