我知道如何只将textarea的第一行传递给URL.But是否可以传递用户可能已经插入到URL的所有行?可能我需要javascript。
<form id="form1" action="http://site.com/" target="_blank">
<textarea rows="5" name="abc"></textarea>
<button type="submit">Submit</button>
</form>
答案 0 :(得分:1)
Quentin是正确的。您的代码已经传递了textarea
元素的全文。
site.com
删除了额外的内容。
尝试更改
action="http://site.com"
到
action="http://localhost"
或类似的内容,您会注意到由于URL编码,整个内容都会以%0D%0A
分隔的行传递。
%0D
适用于carriage return
而%0A
适用于line feed
因此,您需要在实际接收数据的页面上相应地解析数据。
答案 1 :(得分:0)
试试这个。我从ÖzkanÖZLÜ代码中做了一些更改
$(function()
{
$("#btn_go").click(
function()
{
var txt = "line1=" + $("textarea").val();
for(i = 0; i < $("textarea").attr("rows"); i++)
{
txt = txt.replace("\n","&line" + (i+2) + "=");
}
$("form").attr("action", "?" + txt);
}
);
});
答案 2 :(得分:-1)
这是我尝试使用jQuery:
<强> HTML 强>
<form action="http://site.com" action="get" target="_blank">
<textarea rows="10" cols="30"></textarea>
<input type="button" value="go" id="btn_go" />
</form>
<div></div>
<强> JS 强>
$(function () {
$("#btn_go").click(
function () {
var txt = "line1=" + $("textarea").val();
var lines = txt.split(/\r|\r\n|\n/);
var count = lines.length;
for (i = 0; i < count; i++) {
txt = txt.replace("\n", "&line" + (i + 2) + "=");
}
$("div").html(txt);
window.location.href = $("form").attr("action") + "?" + txt;
});
});