如何在单击链接时传递文本框的值?

时间:2012-02-21 12:12:07

标签: jquery function textarea

我有两个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>

感谢您的帮助。

3 个答案:

答案 0 :(得分: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

加载新页面没有意义,你以前用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代码后,我必须在最后添加一个附加的括号)才能正常运行

答案 1 :(得分: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();

答案 2 :(得分: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);
});