Autor Zpráva
Anonym
Profil *
html:

<form action="form.php" id="form" name="form" method="post" onSubmit="cekniForm()">    

<input type="text" name="celeMeno" id="celeMeno" />
<input type="text" name="ulica" id="ulica"/>

js:

function cekniForm() {
    
    celeMeno = document.form.celeMeno.value;
    if(celeMeno == "") {
        document.form.celeMeno.style.borderColor="red";
        document.form.celeMeno.value="Vyplnte";
        return false;
    }
    
    ulica = document.form.ulica.value;
    if(ulica == "") {
        document.form.ulica.style.borderColor="red";
        document.form.ulica.value="Vyplnte";
        return false;
    }
}

Dam odoslat : <input type="submit" value="Odoslať" /> a ta funkcia kontroluje hodnoty po jednom. Musim 2X kliknut na odoslat. Ale malo by to ist tak ze ukaze naraz kde je chyba.

Vopred diky.

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
_es
Profil
Anonym:
Tipol by som si, že bude chyba v tom, že si si neuvedomil, že príkaz return zároveň aj ukončuje funkciu, takže ak budú obe polia nevyplnené, tak to logicky ten text "Vyplnte" nemôže vyplniť v oboch poliach.
peta
Profil
Jj, urcite return :) Takovy tip, kdyz nevis, co se deje, pridej si na problemova mista alerty a sleduj, ktery se zobrazi a ktery uz ne. pak muzes podrobneji zkoumat, proc se to nezobrazi a zakomentovavat jednotlive radky.
Anonym
Profil *
Ahoj.

Dal som prec return a teraz sa stane to ze sa prejavi funkcia ale potom sa odosle formular dalej.
Malo by to byt tak ze kym nikto neda tam nejaky text tak sa neodosle.
Trejpa
Profil
Anonym:
function cekniForm()
{
var odeslat=true;
var chyba="Vyplňte"
if(document.form.celeMeno.value==""||document.form.celeMeno.value==chyba)
  {
  document.form.celeMeno.style.borderColor="red";
  document.form.celeMeno.value=chyba;
  odeslat=false;
  }
if(document.form.ulica.value==""||document.form.ulica.value==chyba)
  {
  document.form.ulica.style.borderColor="red";
  document.form.ulica.value=chyba;
  odeslat=false;
  }
return odeslat;
}



EDIT:
+ samozřejmě

<form … onSubmit="return cekniForm()">
Chamurappi
Profil
Reaguji na Anonyma:
ale potom sa odosle formular dalej
To v tvém původním kódu také, ne? Na to, abys při špatném vstupu zastavil odeslání, bys musel použít:
<form  onSubmit="return cekniForm()">

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: