/ / Предаване на входа на потребителя от textarea (всички редове) към URL - html, url, textarea

Прехвърлете входа на потребителя от textarea (всички редове) към URL - html, url, 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>

http://jsfiddle.net/PE8Ly/

Отговори:

1 за отговор № 1

Куентин е вярно. Кодът ви вече предава целия текст на textarea елемент.

Най- site.com премахва допълнително съдържание.

Опитайте да промените своя

action="http://site.com"

да се

action="http://localhost"

или нещо подобно и ще забележите, че цялото съдържание се предава с редове, разделени от тях %0D%0A поради кодирането на URL адресите.

цигулка

%0D е за carriage return и %0A е за line feed

Така че, трябва да анализирате данните съответно на страницата, която действително получава данните.


0 за отговор № 2

Опитайте тази. Направих някои промени от Ö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);
}
);
});

-1 за отговор № 3

Флийдъл е тук

Това е моят опит с 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|rn|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;
});
});