Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] funkcja wysyłająca formularz
Forum PHP.pl > Forum > Przedszkole
lucks
miałem w formularzu i wszystko było ok

  1. <input type=submit>


ale dodałem sprawdzenie czy pole trekstowe nie jest puste

Kod
function pusty(){
if (document.getElementById('nazwa').value=="")
    alert('Wprowadz nazwę lub nacisnij anuluj');
else
window.document.form.submit

}


zamiast submit musiałem dać button

i wywala mi błąd

jak zrobić zeby w else akcja była identyczna jak submit?
bigZbig
Daj caly kod a atrybuty tagow otaczaj cudzyslowami.
lucks
  1. <body bgColor=#f6f6eb topmargin="9">
  2. <p>&nbsp;</p>
  3. <form action="admin.php" method="GET" name="g_row">
  4. <table border=0 cellspacing=2>
  5. <tr>
  6. <td>Nazwa:</td>
  7. <td><input type="text" size=40 name="snazwa" value="" id="nazwa"></td></tr></table>
  8. <table border=0 cellspacing=2>
  9. <tr>
  10. <td><input type="button" value=" OK " onclick="pusty()" id="ok">&nbsp;<a href="#" class="lbAction" rel="deactivate"><input id='nazwa' type="button" value="Anuluj"></a></td>
  11. </tr>
  12. <input type="hidden" name="action" value="g_row">
  13. </form>
  14. </body>
kossa
Twój form nie nazywa się form tylko:

Cytat
name="g_row"


skąd skrypt JS ma wiedzieć że Twój form z tego kodu to właśnie form g_row?

Cytat
window.document.form.submit


  1. document.forms["g_form"].submit();


możesz też w znaczniku <form> wywołać
  1. onSubmit="return:Pusty();"
i tam jeśli będzie pole wypełnione to zwrócić true i form sam się wyśle a jeśli false to form się nie wyśle.

tak na szybko z ręki :-)

  1. function pusty(){
  2.  
  3. if (document.getElementById('nazwa').value=="")
  4. {
  5. alert('wypelnij pole imie");
  6. ret=false;
  7. }
  8. else
  9. ret=true;
  10.  
  11. return ret;
  12. }


Pozdrawiam,
Łukasz
lucks
wywala nadal...

document.forms.g_form jest pusty lub nie jest obiektem

to drogie rozwiązanie praktycznie działa ale ale formularz i tak sie wysyła mimo wyswietlenia komunikatu

cały czas mam błąd w tej inii:

  1. document.forms["g_form"].submit();

w IE ze jest pusty lub nie jest obiektem a w firefox no properites,

kiedy mam przycisk submit to błąd tez jest ale forma sie wysyła z czego to moze wynikać?
nospor
Cytat
miałem w formularzu i wszystko było ok
ale dodałem sprawdzenie czy pole trekstowe nie jest puste
zamiast submit musiałem dać button
i wywala mi błąd

To sie najprosciej realizuje w formularzu a nie na przycisku
  1. <form ..... onsubmit="return funkcjawalidujaca();">
  2. </form>

Gdzie funkcja walidujaca zwraca true gdy wszystko ok, false - gdy cos źle

Cytat
kiedy mam przycisk submit to błąd tez jest ale forma sie wysyła z czego to moze wynikać?
Bo submit sluzy do wysylania. Jesli jest blad js w submicie, to ten js sie nie wykonuje przez co nie obsluguje submita i zachowuje sie on domyslnie

edit:
Cytat
to drogie rozwiązanie praktycznie działa ale ale formularz i tak sie wysyła mimo wyswietlenia komunikatu
Bo w submicie powinoo byc:
  1. <input type="button" value=" OK " onclick="return pusty();" />
lucks
no ale zeby wywołac zdarzenie onsubmit potrzebny jest przycisk submit?
nospor
tak, ale juz do przycisku nic nie podczepiasz, tylko do formularza smile.gif

ps: pozatym edytnalem poprzedniego posta. powinno ci pomoc smile.gif
lucks
no nareszcie zadziałało, dzięki wielkie bo byłem juz na granicy rozpaczy...
kossa
To Kolega @lucks nie czytał zbyt dokładnie i nie potrzebnie kilka dni się męczył:

Cytat
możesz też w znaczniku <form> wywołać
HTML
onSubmit="return:Pusty();"
i tam jeśli będzie pole wypełnione to zwrócić true i form sam się wyśle a jeśli false to form się nie wyśle.


Łukasz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.