Autor Zpráva
Zikker
Profil *
ahoj dělám pro jednu firmu web a chce po mě formulář na online objednávku, vše mi fubguje ale kontrola přez js mi blbne použil jsem kód:
Kód:
function kontrolaMail(input) {

if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(input.mail.value)){
document.getElementById("mail").style.background = "#AEFFAE";
return true;
}
else {
document.getElementById("mail").style.background = "#FFA6A6";
return false;
}
}

function kontrolaname(input)
{
  if (input.name.value == '') {
    document.getElementById("name").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("name").style.background = "#AEFFAE";
return true;
}
}

function kontrolaphone(input)
{
  if (input.number.value == '') {
    document.getElementById("number").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("number").style.background = "#AEFFAE";
return true;
}
}

function kontrolacity(input)
{
  if (input.city.value == '') {
    document.getElementById("city").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("city").style.background = "#AEFFAE";
return true;
}
}

function kontrolastreet(input)
{
  if (input.street.value == '') {
    document.getElementById("street").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("street").style.background = "#AEFFAE";
return true;
}
}

function kontrolacp(input)
{
  if (input.cp.value == '') {
    document.getElementById("cp").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("cp").style.background = "#AEFFAE";
return true;
}
} 

function kontrolapocet(input)
{
  if (input.pocet.value == '') {
    document.getElementById("pocet").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("pocet").style.background = "#AEFFAE";
return true;
}
} 

function kontrolapalivo(input)
{
  if (input.palivo.value == '0') {
    document.getElementById("palivo").style.background = "#FFA6A6";
    return false;
  }
else {
document.getElementById("palivo").style.background = "#AEFFAE";
return true;
}
}

a volám fci:
Kód:
<form method="post" action="./post.php" onSubmit="return kontrolaname(this); return kontrolaphone(this); return kontrolaMail(this); return kontrolacity(this); return kontrolastreet(this); return kontrolacp(this); return kontrolapocet(this); return kontrolapalivo(this)">


jenomže, chybová konzola mi nepíše žádnou chybu, a když kliknu na odeslat zkontroluje to pouze jedno políčko a to name tedy splní se fce kontrolaname, když je prázdné neodešle se to a vybarví se červeně a když tam něco napíšu tak se odešle ale já chci aby to zkontrolovalo všechny políčka. Prosím nevíte kde mám chybu?

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Zikker
Profil *
omlouvám se ale napsal jsem starý kód místo ; má být && :-)
Aichi
Profil
jestli na posledním řádku máš tedy onSubmit=" return fceA() && return fceB()" tak je naprosto jasné, že to vrátí její hodnotu a na další to nekouká. Takže udělej si funci kontrola a ta teprve bude volat ty dílčí kontroly a budě dělat to logické AND a vrátí celkový výsledek.
_es
Profil
Zikker:
Ak sa ti to nechce prerábať tak, ako ti radí Aichi, tak by mohlo stačiť:
<form method="post" action="./post.php" onSubmit="return kontrolaname(this)*kontrolaphone(this)*kontrolaMail(this)*kontrolacity(this)*kontrolastreet(this)*kontrolacp(this)*kontrolapocet(this)*kontrolapalivo(this);">

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: