Autor Zpráva
Fic
Profil *
Problem: mam formular odesilany metodou post:

<form id="form1" name="formular" method="post" action="mail.php" onsubmit="return kontrola()">

javascrip:
------------------------

counter=11;
errors=0;
focus=0;

/* volani metod kontroly na jednotlivych elementech */
function kontrola(){
kontrola_na_elem("jmeno", "Jméno je zadáno chybně!");
kontrola_na_elem("prijmeni", "Příjmení je zadáno chybně!");
kontrola_na_elem("ulice", "Ulice je zadána chybně!");
kontrola_na_elem_cp();
kontrola_na_elem("mesto", "Město je zadáno chybně!");
kontrola_na_elem_psc();
kontrola_na_elem_email();
kontrola_na_elem_telefon();
zkontroluj_objednavku();
/* pokud formular obsahuje chyby, vrat false (nedojde k odeslani) */
if(errors>0){
errors=0;
document.getElementById(focus).focus();
return false;
}
}


counter, focus, errors jsou pomocne promenne. fce kontrola() provadi fce pro kontrolu spravnosti vyplneni jednotlivych poli. Pokud je pole vyplneno chybne, zobrazi se upozorneni a hodnota promenne errors se navysi. Pokud je hodnota errors > 0 vraci fce kontrola() false, jak muzete videt v kodu.

Problem je v tom, ze v IE dojde k odeslani formulare i kdyz jsou nektera pole spatne vyplnena, tedy by melo byt vraceno false. V ostatnich prohlizecich to funguje spravne.

Predem diky moc za odpoved.
peta
Profil
Fic
odkaz na stranku, z kousku kodu moc nezjistis. Podstatne je, co vypise JS konzola v IE a co je kolem toho.

V IE nemusi fungovat udalost focus.
V IE muze byt errors jako rezervovane slovo (tj nelze tak pojmenovavat funkce/promenne).
Focus jako takove muze byt rezervovane slovo.

- tez je otazka, kde se naplnuje errors, treba tam je chyba. to je tak, kdyz da nekdo cast kodu!
pred
if(errors>0)
dej
alert((errors) + ':' + errors*1);
at zjistis, co je v promenne errors a jestli neni mozne, ze se script chova podle zadani programu.

Jeste mne napada, nemas tam nekde var errors?

"Pokud je pole vyplneno chybne, zobrazi se upozorneni a hodnota promenne errors se navysi. "
"jak muzete videt v kodu"
a to tam prave neni :)
Fic
Profil *
diky moc za odpoved! Bylo to kvuli tomu focus, IE to asi neumi, takze to vsechno skoncilo pred tim false. Diky.
Errors se naplnuje dobre, ten alert hazi stejna cisla.
Fic
Profil *
Hm, ale jeste mam jeden problem - v IE6 je vse ok, ale IE7 nechce provadet fci alert(), ale jinak vse probehne jak ma...

formular:
http://www.fic.wz.cz/semestral/index.php?goto=objednavka

js:
http://www.fic.wz.cz/semestral/formular.js

Ten kod je asi docela zmateny, jsou to moje prvni webovky psane "rucne"...
Ta grafika jeste neni finalni, tak na to moc nekoukejte. Diky
Měsíček
Profil
alert() je metoda objektu window, nazvání "funkcí" se mi moc nelíbí.
peta
Profil
Měsíček
detailisto :)
vsechno je metodou objektu window, v podstate, i Math.

Fic
"IE7 nechce provadet fci alert(),"
opet otazka, co pise JS konzola?
panecku, ze ja se podival :)

Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/format.css
Řádek: 416
Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/format.css
Řádek: 423
Chyba: Soubor s kaskádovými styly http://i.wz.cz/404.html nebyl použit, protože má typ MIME "text/html" místo "text/css".
Zdrojový soubor: http://www.fic.wz.cz/semestral/index.php?goto=objednavka
Řádek: 0
Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/alt_style1.css
Řádek: 416
Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/alt_style1.css
Řádek: 423
Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/alt_style2.css
Řádek: 416
Varování: Neznámá vlastnost 'filter'. Deklarace vynechána.
Zdrojový soubor: http://www.fic.wz.cz/semestral/alt_style2.css
Řádek: 423
Chyba: Soubor s kaskádovými styly http://i.wz.cz/404.html nebyl použit, protože má typ MIME "text/html" místo "text/css".
Zdrojový soubor: http://www.fic.wz.cz/semestral/index.php?goto=objednavka
Řádek: 0
Chyba: Soubor s kaskádovými styly http://i.wz.cz/404.html nebyl použit, protože má typ MIME "text/html" místo "text/css".
Zdrojový soubor: http://www.fic.wz.cz/semestral/index.php?goto=objednavka
Řádek: 0

zatim jsem jenom stranku nechal nacist a uz more chyb v CSS
S temi styly MIME "text/html" místo "text/css" je to divne, treba je to oki a chyba je na wz.cz
No, tak si konzolu na testovani musim smazat od tech chyb, at se to tam neplete.

"IE7 nechce provadet fci alert()"
- stranka
- popis problemu, co , kde , jak hledat
- kde hledat problem / jak jej vyvolat
Muzeme stale predpokladat odeslani objednavky.
Stisknu odeslani, konzola cista. To je dobre znameni. Takze tez prejdu na IE7 (do ted jsem mel FF)

IE JS konzola
radek 6 znak 1 Objekt tuto vlastnost nepodporuje
Tezko rici, co tim IE myslelo, ale hlasi to uz pri nacitani stranky, takze by to mohlo byt to focus = 0 , alias to bere jako window.focus()
Tez to muze byt:
window.onload=function()
blokovani popup
Odeslat objednavku mi funguje a opet zobrazi miliony alertu.
V obou prohlizecich mi vytece text menu vlevo (okno 500x800). Cili naprosto nepouzitelne menu.
Mozna bych ty formulare nevybarvoval nebo vybarvoval jinak nez menu.

Ja bych z te stranky vyhodil vsechno krom te objednavky a odladil si objednavku. Pak bys mohl rici zcela s jistotou, ze je problem tam a ne v JS / HTML kolem nej.
Fic
Profil *
Diky za ochotu.
slo mi hlavne o ten formular, ty stranky jinak jeste nejsou odlazene. Vybarvovani chybnych poli formulare asi zrusim, to jsem si nastavil schvalne, aby mi bilo do oci, zda to spravne opravuje chyby. Minimalne zmenim tu barvu, nejspis i barvu formulare.
To, ze se to v IE rozpadne vim, budu to muset predelat.
Co se tyce MIME "text/html" je nespis proto, ze jsem si tam ted pridal skinovani a jeste nemam uplne pridelene soubory css, porad jsou ty stranky rozpracovane, takze asi tak.
Diky za cenne pripominky, zkusim to poresit.
los
Profil *
> alert() je metoda objektu window, nazvání "funkcí" se mi moc nelíbí.
V JavaScripte je každá metóda funkcia. Takže alert je funkcia.

> vsechno je metodou objektu window, v podstate, i Math.
V JavaScripte je každá funkcia objekt, ale neplatí, že každý objekt je funkcia. Math je objekt a nie funkcia.
peta
Profil
Fic
jako, ale stale nevim, v cem mas problem. mne alerty v obou prohlizecich zobrazil.
klikl jsem na odeslat, prazdny formular a neustavajici tok alertu mne odradil.

vybarvovani a alerty chhyb se daji vyresit elegantne jednim vybarvenim najednou a jednim alertem. To jako nevim, proc to resis po jednom.

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:

0