2012-02-21 65 views
0

我有兩個textareas。當用戶點擊一個文本鏈接,即「添加到購物車」時,我將如何將textareas的值粘貼到第三個textarea中,用「 - 」這樣的分隔符分隔,最後是一個要加載的新頁面一旦功能完成?如何在點擊鏈接時傳遞文本框的值?

我到目前爲止的代碼是:

JS:

$('#addtocart').click(function() { 
var text1 = $("#inputA").val(); 
var text2 = $("#inputB").val(); 
var text3 = text1 + "\n--\n" + text2; 
$("#personalisedmsg").val(text3); 
}; 

HTML:

<textarea id="inputA" class="limited" rows="6">Your top message here.</textarea><br /> 
<textarea id="inputB" class="limited" rows="6">Your bottom message here.</textarea><br /> 
<textarea id="personalisedmsg"></textarea> 

<br><br> 

<a id="addtocart" href="#">Add to Cart.</a> 

感謝您的幫助。

+0

新的頁面加載是文本區域後的ajax? – Poonam 2012-02-21 12:14:17

+0

到目前爲止您嘗試了哪些代碼? – 2012-02-21 12:16:40

+0

你可以在這裏發佈一些代碼嗎? – 2012-02-21 12:18:05

回答

2

要做到文本字段的東西...

var text1 = $("#textbox1").val();//textbox1 is the id value of the text area 
var text2 = $("#textbox2").val();//textbox2 is the id value of the text area 
var text3 = text1 + "\n--\n" + text2; 
$("#textbox3").val(text3);//set the next text in textbox3 

要加載新頁面沒有意義,w你以前用textbox3數據做過什麼?你是否想提交表格?如果是這樣,你可以這樣做,例如(假設文件只有一種形式)...

document.forms[0].submit(); 

,或者只是重新裝入一個新頁面,如果你真的想那麼......

window.location = 'newpage.html';//or whatever you page is called 

重要提示

當您使用鏈接的點擊處理程序,如果鏈接有href屬性設置你應該確保您要取消的默認操作(即新頁面的重新加載)...

$('#addtocart').click(function(e) { 
    e.preventDefault();//cancel the new page load action 

    //rest of code here 
}); 

工作實例

Here is a working example

注意,複製你的jQuery代碼後,我不得不在最後添加一個額外的右括號)它運行正常

+0

謝謝你的帖子,我也會試試。 Textbox3是一個由我正在使用的電子商務軟件包設置的具有預定屬性的文本框,由於其設置方式,其內容將出現在結帳頁上,因此我需要將自定義文本傳遞到此框中。當用戶點擊「添加到購物車」並將文本傳入它時,此框的值將保留,但它將通過CSS隱藏。由於電子商務軟件的工作原理,使用此特定文本框是一項要求,但我需要爲用戶提供多個文本框,而不僅僅是一個。 – Chris 2012-02-21 12:33:20

+0

哦,並且在功能完成之後需要新的頁面部分將用戶帶到他們的購物車。 – Chris 2012-02-21 12:36:31

+0

@Chris:好吧,一切都聽起來很好,希望你能得到你需要的東西;) – musefan 2012-02-21 12:39:24

1

嘗試這樣:

HTML:

<textarea name="text1"></textarea> 
<textarea name="text2"></textarea> 
<textarea name="text3"></textarea> 

的javascript:

jQuery('textarea[name=text3]').val(jQuery('textarea[name=text1]').val() + " --- SEP --- " + jQuery('textarea[name=text2]').val()); 

jQuery.post('yoururl.php'); 
// or 
window.location = 'yoururl.php'; 
// or 
jQuery('#yourform').submit(); 
+0

我不會親自使用'.html',但無論如何,只是想說你錯過了分隔符的要求;) – musefan 2012-02-21 12:22:45

+0

謝謝,會給這個去。 – Chris 2012-02-21 12:24:47

+0

@musefan yup,你是對的!編輯,tx的評論! – giorgio 2012-02-21 12:28:52

0

設置的標籤像下面這樣的屬性可以在不提交頁面的情況下使用文本框值在新頁面上移動。

$("#addtocart").click(function(e) { 
var t1=$("#textbox1").val(); 
var t2=$("#textbox2").val();  
var t3=t1 + "--" + t2; 
var url="your url"+"?id="+t3 
$(this).attr("href",url); 
}); 
相關問題