/ / Przekaż dane użytkownika z textarea (wszystkie wiersze) do adresu URL - html, url, textarea

Przekaż dane użytkownika z textarea (wszystkie wiersze) do adresu URL - html, url, textarea

Wiem, jak przekazać tylko pierwszy wiersz textarea do adresu URL. Ale czy możliwe jest przekazanie wszystkich wierszy, które użytkownik może wstawić do adresu URL? Prawdopodobnie będę potrzebować 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/

Odpowiedzi:

1 dla odpowiedzi № 1

Quentin jest poprawne. Twój kod już przechodzi przez cały tekst textarea element.

The site.com usuwa dodatkową zawartość.

Spróbuj zmienić swoje

action="http://site.com"

do

action="http://localhost"

lub coś podobnego, a zauważysz, że cała zawartość jest przekazywana z wierszami oddzielonymi przez %0D%0A ze względu na kodowanie URL.

Skrzypce

%0D jest dla carriage return i %0A jest dla line feed

Tak więc należy odpowiednio przeanalizować dane na stronie, która faktycznie otrzymuje dane.


0 dla odpowiedzi nr 2

Spróbuj tego. Dokonałem pewnych zmian w kodzie Ö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 dla odpowiedzi nr 3

Fiddle jest tutaj

To jest moja próba użycia 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;
});
});