Autor Zpráva
Ghost-dog
Profil *
Ahojky, potřeboval bych trošku poradit s textareou.
Mam stránku kde mám v textarea poznamku a kdyz si dam refresh stranky pres JS . kde odeslu hodnotu poznamka.value tak se mi ztratí řádkování, přitom když to přes php uložim aniž bych tu stránku refreshnul tak řádkování zůstane OK

Díky za každou radu
peta
Profil
Ghost-dog
Zakladem je spravne napsana otazka:
diskuse - jak neco udelat - nez zalozite nove tema, prectete si
Zakladem je odkaz, pokud je to slozitejsi problem.

"Mam stránku" - tak mej, mi nic nemame, tim je problem vyresen, nemas opravdu zac dekovat :)

"mám v textarea poznamku"
ok
"kdyz si dam refresh stranky pres JS"
ok, ted ale vime nic, protoze nevim, co v tvem podani znamena refresh pres JS. V mem podani to treba znamena
window.location.href = window.location.href;
window.reload()
Kdyz udelam tento refresh, po spravnosti se maji ztratit veskere udaje z textarea.
Tim padem nema smysl cist dal, protoze nechapes, co je refresh nebo to chapes zcela odlisne nez to chape zbytek sveta.

"se mi ztratí řádkování"
to muze byt zpusobeno nekolika funkcemi, bud v JS nebo v PHP, ale bez zdrojoveho kodu je nelze dohledat.

"přitom když to přes php uložim aniž bych tu stránku refreshnul tak řádkování zůstane OK"
Tohle nechapu uz vubec. Pokud to necham odeslat do php, pak se mi formular cely smaze. cili ve formulari nema byt nic. Do souboru/databaze si muzu ulozit spravny obsah policka i s radky. To je ok. To zalezi na spravne napsanem programu.

jeste mne tak napada, jestli pouzivas pro vraceni hodnoty textarea.value nebo innerHTML. V tom by byl trosku rozdil v tom, ze uz iiner by mohl prepsat vsechny znaky tabelator a konce radku na mezeru podle html vzoru. Totez delaji nektere php funkce. A casto to delaji regularni vyrazy ve filtrech.
Ghost-dog
Profil *
mam to udelane zhruba takto: (nebudu to sem davat cele ma to zhruba pres 2000 radku)

function nav_obnov(menu) {
description = (document.form.description.value);
<?
echo '$x = ' . "'?description='".'+description;';
?>
window.location=($x);
}

print '<FORM NAME="form" method="post" onload="highlight();">';
print "<TR><TD WIDTH=150><B>Popis:</TD>";
print '<TD><textarea width=50 NAME=description CLASS="form_edit" rows=8 STYLE="WIDTH:500">'.$description.'</textarea></TD></TR>';
print "</FORM>";


A de mi o to ze kdyz udelam refresh stranky pres tento JS aby se mi nacetly do formulare udaje podle toho co vyberu. tak kdyz mam vyplnenou poznamku (description) tak se mi ten text co je v ni napsanej reloadne a ztrati se odentrovaní.
peta
Profil
Ghost-dog
Jestli neni treba problem v pochopeni jazyka, kterym mluvime.

Mne tvych 2000 radku v celku nezajima, ja chtel odkaz na stranku, na kterem bych mohl zkouset. Tam muze byt radku klidne vic.

Jestlize ti vsak nefunguje elementarni vec je dobre si vytvorit maly jednoduchy soubor na zkouseni. A ten by mne pak zajimal vic nez 2000 radku navic.

Podle kousku bezvyznamneho kodu ti nezlob se, nemuzu pomoct. Treba je chyba v tom ostatnim.
Ale dam ti par tipu:

function nav_obnov(menu) {
description = (document.form.description.value);
<?
echo '$x = ' . "'?description='".'+description;';
?>
window.location=($x);
}

Co je tohle za programovaci jazyk?
Rekneme, ze pred 'function nav_obnov' je tag <script> (je to jen predpoklad)
V tom pripade, co je toto:
<?
echo '$x = ' . "'?description='".'+description;';
?>
budu predpokladat, ze vis, jaky je rozdil mezi JS a PHP a chapu to jako pokusnou promennou.
PHP tedy vygeneruje HTML kod... (to by slo zjistit prave v odkazu na stranku jaky, coz je dulezite pro spravnou funkci)
$x = '?description='+description;
1. JS nezna $x
2. Pokud mne vsak pamet neklame, tak URI ma povolene jen urcite znaky. Ostatni bud ignoruje nebo je spravne zakoduje. funkce escape
http://axpsu.fpf.slu.cz/~web/URLchars.htm

Jak to overit?
document.write('<pre>'+description+'<\/pre>');
pokud to vypise s novymi radky, je to ok prevzato.
(slo by to tez pres alert(description);)
Takze dalsi krok, pokud provede reload, co mas v adresnim radku? Podle mne tam ty nove radky nemas, totez se stane s tabelatory.
Takze zbyva zakodovat:
description = escape(description);
Pocitam, ze pak to prebiras pres PHP GET, coz si opet neuvedl...
$description = $_GET['description'];
echo ''<pre>'.$description.'</pre>'
Jenze escape nezachranuje vsechny znaky, podle te tabulky, jak by melo spravne

Ja bych pouzil pro prenos napriklad session misto GET s odeslanim formulare na server.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: