Autor Zpráva
Reg
Profil
Dobrý den. JS vůbec nepoužívám ale teď by se mi hodila taková drobnost ale vůbec nevim jak na to. Potřebuju totiž udělat aby se to co je v jediném inputu po odeslání formuláře smazalo. Dík.
DJ Miky
Profil
<form onsubmit="document.getElementById('policko').value=''">
<input type="text" id="policko" />
</form>

BTW, není to jedno, když odeslání formuláře způsobí načtení stránky? (ať už jiné nebo té stejné)
j_hajsl
Profil
ale tohle ti pak neodešle ani to vyplněný políčka, před odesláním se smaže ....
BaTeCzKo
Profil
použij setTimeOut();
Reg
Profil
No jesli to nic neodešle tak je to na nic, nebyla by verze kerá to smaže až potom?
A mám tam něco ve stylu <form target="iframe">, proto se ta stránka nereloadne.
Reg
Profil
rád použiju setTimeOut(); ale nevim jak :)
los
Profil *
A čo tak dať tomu ifrejmu obsluhu udalosti load, ktorá zavolá metódu reset formulára?
Reg
Profil
To ne, potřebuju aby se to políčko smazalo jenom když tam někdo něco pošle jinak ne protože bude mít ta stránka uvnitř refresh.
los
Profil *
Tak by šlo v onsubmit nastaviť nejaký príznak, že treba vymazať obsah formulára a v onload ifrejmu vymazať obsah a príznak vymazať (prípadne v onsubmit zavesiť obsluhu udalosti na onload a v tej obsluhe ju potom odvesiť).
Reg
Profil
a co takle žeby to na onsubmit nejdřív submitovalo javascriptově a hned potom smázlo. to by nešlo?
Joker
Profil
Určitě to onsubmit() políčka smaže před odesláním formuláře? Pokud ano, tak by byla možnost nedávat tam opravdický submit, ale simulovat ho tlačítkem plus javascriptem:
<form id="formular">
<input name="policko" type="text" />
<button onclick="document.formular.submit(); document.getElementById('policko').value='';">Odeslat</button>
</form>
poznámka: document.getElementById('policko').value=''; - to před středníkem jsou dva apostrofy, ne jedna uvozovka!

Jednoduše nejdřív udělám javascriptem ten submit a potom vymažu to políčko.
Nevýhoda tohoto je, že bez javascriptu nepůjde ten formulář odeslat. Možná by to šlo řešit nějak takhle:
<button id="cudlik1" onclick="document.formular.submit(); document.getElementById('policko').value='';" style="display:none">Odeslat</button>
<input id="cudlik2" type="submit" value="odeslat" />
<script type="text/javascript">
if(document.getElementById){
cudl1 = document.getElementById("cudlik1");
cudl2 = document.getElementById("cudlik2");
if(cudl1 && cudl1.style && cudl2 && cudl2.style){
cudl1.style.display = "block";
cudl2.style.display = "none";
}
}
</script>
Reg
Profil
to má ale háček že chci aby to fungovalo především když odesílám entrem...
Joker
Profil
a co takle žeby to na onsubmit nejdřív submitovalo javascriptově a hned potom smázlo. to by nešlo?
To se obávám, že ten javascriptový submit by vyvolal opět událost onsubmit, čímž by se to celé zacyklilo.
Leda by se nastavoval nějaký příznak a v onsubmit by bylo něco jako if(uzBylSubmit) return();
Ale i tak si myslím, že pokud by se v onsubmit volal další submit, tak by se formulář odeslal dvakrát.

Možno vyzkoušet.
los
Profil *
a co takle žeby to na onsubmit nejdřív submitovalo javascriptově a hned potom smázlo. to by nešlo?

To by šlo.
<form action="" target="iframe" onsubmit="this.submit();this.policko.value='';return false;">

<input type="text" name="policko" />
</form>
Reg
Profil
Ještě mě napadlo udělat eště jeden input (hidden) a do toho by se na onsubmit přendalo to co bylo v tom prvnim a pak se ten první vymazal ale nějak mi to nefunguje. mám to dobře?
onsubmit="document.getElementById('altttext').value=document.getElemen tById('text').value; document.getElementById('text').value=''"
Reg
Profil
los díky mockrát, funguje to bezchybně! Asi díky tomu return false, což nevim co znamená takže bych to sám nidy nevymyslel. ;)
souki
Profil
Reg
až na tu mezeru v getElemen tById asi máš
Reg
Profil
ta mezera tam neni to tam dělá jakpsatweb a nevim proč.
souki
Profil
Reg
IMHO kvůli zalamování dlouhých slov... ale asi by to mělo fungovat.. hlásí ti to něco?
Reg
Profil
nemaže to ten text ale už to je vyřešený.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0