Autor Zpráva
djlj
Profil
Zdravím.

Mám formulář:

<form action='./' id='upload' method='post' onsubmit='return kontrola(this)'>

Pak tam jsou různý inputy ... a taky javascript, kterej je kontroluje:

<script type='text/javascript'>
/* <![CDATA[ */";

var upload = document.getElementById('upload');

function kontrola(upload) {
mail_jedna = upload.mail1.value;
mail_jedna1 = upload.mail1;
mail_dva = upload.mail2.value;
mail_dva1 = upload.mail2;
soubor = upload.soubor.value;
soubor1 = upload.soubor;


if (soubor == "") {
alert("Nevložili jste žádný soubor!");
soubor1.focus();
return false;
}

elseif (mail_jedna!="" and mail_dva=="") {
alert("Pokud vyplníte mail příjemce, musíte vyplnit i mail odesílatele!");
mail_dva1.focus();
return false;
}

elseif (mail_jedna != "") {
if (window.RegExp){
re = new RegExp("^[^@]+@[^.]+\..+$");
if (!re.test(mail_jedna)){
alert("Špatně zadaný email!");
mail_jedna1.focus();
return false;
}
}
}

elseif (mail_dva != "") {
if (window.RegExp)
{
re = new RegExp("^[^@]+@[^.]+\..+$");
if (!re.test(mail_dva))
{
alert("Špatně zadaný email!");
mail_dva1.focus();
return false;
}
}
}

else
return true;
}


/* ]]> */
</script>

Problém je v tom, že ten JS z mně neznámých důvodů nefunguje a konzole JS vypisuje:


Chyba: missing ) after argument list
Řádek: 157, Sloupec: 23
Zdrojový kód:
elseif (mail_jedna!="" and mail_dva=="") {

Víte někdo, jak napsat tu podmínku? Já ji napsal tak, jak bych to udělal v php, ale v js se to asi píše jinak :(.
habendorf
Profil
&&
djlj
Profil
habendorf
Chyba: missing ; before statement

Řádek: 157, Sloupec: 40
Zdrojový kód:
elseif (mail_jedna!="" && mail_dva=="") {
habendorf
Profil
zkus

elseif ((mail_jedna) && (mail_dva=="")) {

případně

elseif ((mail_jedna) && (!mail_dva)) {
djlj
Profil
habendorf
Bohužel :((. Ta samá chyba ...
ah01
Profil
a co elseif -> else if

(ve specifikaci JS 1.5 totiž nic jako elseif není - http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Sta tements:if...else )
djlj
Profil
ah01
Funguje to, díky moc!
habendorf
Profil
Ale ten můj řádek je určitě dobře, chyba musí být jinde. Zkus si přepočítat třeba závorky. Jinak celkově na to jdeš podle mě hrozně složitě, ta podmínka je šílená. Začal bych pořádným pročištěním.
habendorf
Profil
Aha, tak s křížkem po funuse. Njn, člověk kouká po detailech a uniknou mu základní věci :o)
ah01
Profil
habendorf: já byl línej na detajli koukat :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0