Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> onSubmit return flase w FF działa w IE niet :/
TomASS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Kodziki w JS:
Kod
function validateForm(AForm)
{
    if(!(AForm.oskont_imie_nazwisko.value && AForm.oskont_telefon.value && AForm.mz_nazwa.value && AForm.mz_miasto.value && AForm.mz_kod.value && AForm.mz_ulica.value && AForm.normal_od.value && AForm.normal_do.value && AForm.ID_typ.value && AForm.ilosc.value)){

        if (!(AForm.oskont_imie_nazwisko.value)) AForm.oskont_imie_nazwisko.style.border="1px solid #ff9900;";
        else AForm.oskont_imie_nazwisko.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.oskont_telefon.value)) AForm.oskont_telefon.style.border="1px solid #ff9900;";
        else AForm.oskont_telefon.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.mz_nazwa.value)) AForm.mz_nazwa.style.border="1px solid #ff9900;";
        else AForm.mz_nazwa.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.mz_miasto.value)) AForm.mz_miasto.style.border="1px solid #ff9900;";
        else AForm.mz_miasto.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.mz_kod.value)) AForm.mz_kod.style.border="1px solid #ff9900;";
        else AForm.mz_kod.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.mz_ulica.value)) AForm.mz_ulica.style.border="1px solid #ff9900;";
        else AForm.mz_ulica.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.normal_od.value)) AForm.normal_od.style.border="1px solid #ff9900;";
        else AForm.normal_od.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.normal_do.value)) AForm.normal_do.style.border="1px solid #ff9900;";
        else AForm.normal_do.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.ID_typ.value)) AForm.ID_typ.style.border="1px solid #ff9900;";
        else AForm.ID_typ.style.border="1px solid #7B9EBD;";
        
        if (!(AForm.ilosc.value)) AForm.ilosc.style.border="1px solid #ff9900;";
        else AForm.ilosc.style.border="1px solid #7B9EBD;";
        
        alert('Musisz wypełnić wszystkie pola.');
        return false;
    }
    else{
        return true;
    }
}


I dalej HTML:
  1. <form method="POST" id="formularz" onsubmit="return validateForm(this);">

W IE wysyła formularz zawsze :/ W FF wysyła jeśli są wypełnione odpowiednie pola (czyli ok). - co jest?


--------------------
Go to the top of the page
+Quote Post
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

Ostrzeżenie: (0%)
-----


dla IE powinieneś mieć onclick na submicie z tą samą funckją - ot taki kolejny brak


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
TomASS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


No niestety :/ zmieniłem troszkę funkcję na:
Kod
function $(id){
    return document.getElementById(id);
}

function validateForm(AForm)
{
    if(!($(AForm).value && $(AForm).oskont_telefon.value && $(AForm).mz_nazwa.value && $(AForm).mz_miasto.value && $(AForm).mz_kod.value && $(AForm).mz_ulica.value && $(AForm).normal_od.value && $(AForm).normal_do.value && $(AForm).ID_typ.value && $(AForm).ilosc.value)){

        if (!($(AForm).oskont_imie_nazwisko.value)) $(AForm).oskont_imie_nazwisko.style.border="1px solid #ff9900;";
        else $(AForm).oskont_imie_nazwisko.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).oskont_telefon.value)) $(AForm).oskont_telefon.style.border="1px solid #ff9900;";
        else $(AForm).oskont_telefon.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).mz_nazwa.value)) $(AForm).mz_nazwa.style.border="1px solid #ff9900;";
        else $(AForm).mz_nazwa.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).mz_miasto.value)) $(AForm).mz_miasto.style.border="1px solid #ff9900;";
        else $(AForm).mz_miasto.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).mz_kod.value)) $(AForm).mz_kod.style.border="1px solid #ff9900;";
        else $(AForm).mz_kod.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).mz_ulica.value)) $(AForm).mz_ulica.style.border="1px solid #ff9900;";
        else $(AForm).mz_ulica.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).normal_od.value)) $(AForm).normal_od.style.border="1px solid #ff9900;";
        else $(AForm).normal_od.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).normal_do.value)) $(AForm).normal_do.style.border="1px solid #ff9900;";
        else $(AForm).normal_do.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).ID_typ.value)) $(AForm).ID_typ.style.border="1px solid #ff9900;";
        else $(AForm).ID_typ.style.border="1px solid #7B9EBD;";
        
        if (!($(AForm).ilosc.value)) $(AForm).ilosc.style.border="1px solid #ff9900;";
        else $(AForm).ilosc.style.border="1px solid #7B9EBD;";
        
        alert('Musisz wypełnić wszystkie pola.');
        return false;
    }
    else{
        return true;
    }
}

i mam tak:
  1. <form method="POST" id="formularz" onsubmit="return validateForm('formularz');">
  2. <input onClick="return validateForm('formularz');" type="submit" name="action" value="Zgłoś">

dalej nie działa pod IE (pod FF działa)

Ten post edytował TomASS 6.04.2007, 13:23:15


--------------------
Go to the top of the page
+Quote Post
akubiczek
post
Post #4





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

Ostrzeżenie: (0%)
-----


Na pewno działa (pod IE6 i IE7). Sprawdź co ci zwraca validateForm('formularz').

Poza tym ma być onclick, a nie onClick
Go to the top of the page
+Quote Post
devnul
post
Post #5





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

Ostrzeżenie: (0%)
-----


@akubiczek: to czy z duzej czy z małej to akurat pikuś (tak wiem ze powinno być małymi) - przeglądarki to olewają sikiem prostym jak narazie więc to błędu nie czyni.

a ja chyba wiem gdzie błąd leży:
masz tak
Kod
if (!($(AForm).mz_kod.value)) $(AForm).mz_kod.style.border="1px solid #ff9900;";
        else $(AForm).mz_kod.style.border="1px solid #7B9EBD;";

a powinno być tak
Kod
if (!($(AForm).mz_kod.value)) $(AForm).mz_kod.style.border="1px solid #ff9900;"
        else $(AForm).mz_kod.style.border="1px solid #7B9EBD;";


lub tak
Kod
if (!($(AForm).mz_kod.value)) {$(AForm).mz_kod.style.border="1px solid #ff9900;";}
        else {$(AForm).mz_kod.style.border="1px solid #7B9EBD;";}


widzisz tą subtelną różnice?


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
TomASS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat
@Na pewno działa (pod IE6 i IE7). Sprawdź co ci zwraca validateForm('formularz').

No u mnie jakoś na pewno nie tongue.gif

Cytat
Poza tym ma być onclick, a nie onClick

A pomyśl czy mi to pomoże i czy ma to tutaj jakieś znaczenie smile.gif

Cytat
widzisz tą subtelną różnice?

Różnicę widzę, ale wszystko to co podałeś sprowadza się do jednego, bez różnicy na nawiasy i średnik na końcu linii. Tak czy siak nie widzę najsubtelniejszej różnicy - nie działa nadal - tak, siak czy owak :/

Dzięki

Ten post edytował TomASS 6.04.2007, 18:48:14


--------------------
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #7





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Kiedyś miałem podobny problem i rozwiązałem to w sposób:

Zamiast
  1. if (!(AForm.oskont_imie_nazwisko.value))
dałem
  1. if ((AForm.oskont_imie_nazwisko.value == ""))


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
Zajec
post
Post #8





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Może testujesz na IE7? Przeczytaj tekst porneL'a o onclick i pochodnych: http://pornel.net/onclick

Jest tam wzmianka o bugu zaktualizowanego IE7.
Go to the top of the page
+Quote Post
Norbas
post
Post #9





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Nie piszesz zbyt optymalnego kodu JS i HTML winksmiley.jpg Moja propozycja poniżej.

HTML:
Kod
<form method="post" action="" onsubmit="return validateForm(this)">
<!-- wstawić pola formularza -->
<input type="submit" value="Wyślij" />
</form>


JS:
Kod
function validateForm(f){
var i,e=f.elements,puste=false
var pola=['oskont_telefon','mz_nazwa','mz_miasto','mz_kod','mz_ulica','normal_od','normal_do','ID_typ','ilosc']
for(i=pola.length-1; i>=0; --i)
    if(e[pola[i]].value!='') e[pola[i]].style.border='1px solid #7B9EBD'
    else{
        puste=true
        e[pola[i]].style.border='1px solid #ff9900'
    }
if(puste) alert('Musisz wypełnić wszystkie pola')
return !puste}


Do funkcji jako parametr przekazywany jest obiekt, a nie nazwa formularza


--------------------
Go to the top of the page
+Quote Post
TomASS
post
Post #10





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat
Może testujesz na IE7? Przeczytaj tekst porneL'a o onclick i pochodnych: http://pornel.net/onclick


Testowałem na IE6 smile.gif A tekst już dawno mam w ulubionych smile.gif

Cytat
Nie piszesz zbyt optymalnego kodu JS i HTML

Z JS się zgodzę, że nie jest optymalny smile.gif HTML jest smile.gif

Dzięki - Twój kod działa pod IE i FF smile.gif
Thx


--------------------
Go to the top of the page
+Quote Post
akubiczek
post
Post #11





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

Ostrzeżenie: (0%)
-----


Cytat(TomASS @ 6.04.2007, 19:47:49 ) *
No u mnie jakoś na pewno nie tongue.gif

Chodziło mi o samego HTMLa, bo to jego zmieniałeś w kolejnym poście.

Cytat(TomASS @ 6.04.2007, 19:47:49 ) *
A pomyśl czy mi to pomoże i czy ma to tutaj jakieś znaczenie smile.gif

Pomoże ci się stać lepszym w tym co robisz. Ale nie chcesz, nie słuchaj tongue.gif
Go to the top of the page
+Quote Post
Maksymus007
post
Post #12





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 21.01.2007

Ostrzeżenie: (0%)
-----


  1. onClick="return event.returnValue=costam()"

to u mnie dziala, na wszystkich przegladarkach, wlacznie z IE7 i 6

Ten post edytował Maksymus007 9.07.2007, 19:30:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:18