2012-02-21 70 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); 
});