ugrás a tartalomhoz

Prototype form submit

-zsolti- · 2006. Már. 11. (Szo), 00.33
Egy kis segítségere lenne szükségem, Prototype-pal szeretném disable-re állítani egy form összes mezőjét, onSubmit eseményre:

  <script type="text/javascript"><!--
  function postLoginForm() {
    $('submit').value='Kérjük, várj....';
    Form.disable('loginform');
  }
  //-->
  </script>
<form id="loginform" action="valami" method="post" onsubmit="postLoginForm();">
...
A gond az, hogy a mezők lezárásra kerülnek, be is töltődik az action-ben megadott cím, de az adatok nem kerülnek átadásra (üres a post tömb). Próbáltam a JavaScriptből is document.forms['loginform'].submit(); módon küldeni az űrlapot, úgy sem akarta. Szóval így nem igazán látom értelmét a Form.disable metódusnak, ha pont egy ilyen alapvető feladatba nem lehet beépíteni - önamgában jól működik, csak form submitolással egybekötve nem. Remélem csak én néztem el valamit, a hiányos JS tudásomnak köszönhetően.
 
1

Readonly

Anonymous · 2006. Már. 11. (Szo), 00.40
Ha disabled helyett readonly tulajdonságot adsz neki, akkor szerintem menni fog. Bár a JS-hez nem értek, szóval nem tudom, ez megoldható-e, de sima, JS nélküli űrlapok elküldésekor a disabled tulajdonságú inputok értékei nem lesznek a POST tömbben, a readonly viszont igen.
4

Ez jó lenne...

-zsolti- · 2006. Már. 11. (Szo), 11.20
...csak a gombokra nem működik.
Valószínűleg akkor az a megoldás lesz, hogy inputokra readonly, gombokra disable.
2

nem erre van szükséged

Hodicska Gergely · 2006. Már. 11. (Szo), 10.30
Jó az a metódus, csak nem jól használod. Jelene esetben Neked annyi kell csak, hogy a submit gombot állítsd disabledre, és akkor nem lehet duplán elpostolni a formodat. Persze ha ennek van a szerveroldalon is jelentősége (nem csak azt akarod megakadályozni, hogy a felhasználó nyomogassa többször a gombot), akkor még kell építened valami olyasmit, hogy rosszindalatúan se lehessen a formot kétszer elpostolni: pl. sessiont használhatod erre.


Felhő
3

Félig jó...

-zsolti- · 2006. Már. 11. (Szo), 11.17
...de attól még, hogy a submit disabled, az input mezőbe kattintva tudja püfölni az entert. Szerveroldalon már "fel vagyok rá készülve" csak gondoltam rögtön a böngészőben is korlátozom.
5

IE suck

Hodicska Gergely · 2006. Már. 11. (Szo), 12.19
...de attól még, hogy a submit disabled, az input mezőbe kattintva tudja püfölni az entert.

Rendes böngészőben nem.

A megoldásod jó lehetne amúgy, csak az onsubmit küldés ELŐTT fut le. Annyit kéne tenned, hogy küldés után állítod disabledre a formot. Vagy pedig küldéskor teszel egy eseménykezelőt az input elemekre, ahol az Entert kiszűröd.


Felhő
6

Onsubmit

attlad · 2006. Már. 11. (Szo), 12.44
Az nem jó, ha onsubmit elején ellenőrzöd, hogy a submit gomb értéke "Kérjük, várj...."-e, ha igen, akkor false-t adsz vissza?