2010-11-08 144 views
0

好吧,將表單元素添加到一個表單元素

可以說我正在創建表單。而其地址表單,表單元素這樣:

field 1/house number 
field 2/street name 
field 3/suburb 
etc etc etc 

,並在表格填寫人,:

1 
smith street 
townsville 

我想要什麼(類似堆棧溢出生活形式) 是另一種形式的元素,中傳播表單字段項生活,但與文字代替空格:

所以它看起來像:1+snith+street+townsville

隨着海在最後的rch按鈕。然後觸發我們已經完成的腳本的其餘部分,它基本上抓取地址的緯度和長度,並顯示一個gmap。

這基本上就是這樣,但我們需要所有這一切都發生在表單上,​​並在提交之前。

任何幫助讚賞,都問了其他幾個地方。沒有喜悅,但總是使用StackOverflow .. 感謝Ozzy

+0

」 ......已經問了好幾個其他地方沒有的快樂,但總使用StackOverflow上。 「 - 我試圖理解這一點,而且這一天可能會讓我感到困擾。 – 2010-11-08 21:39:41

回答

1
$('#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

0

這裏的東西,可能工作。 。 。

 
$(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

0

如果您提交此一搜索,使用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