Autor Zpráva
Prefin
Profil
Ahoj všichni.
Rád bych poprosil o malou radu. Neumím js (leda tak něco splácat v php) a když něco potřebuji tak si to většinou najdu jako hotové řešení.
Potřebuji poradit s úpravou validace formuláře tak, aby místo vyhození okna s chybovkou a zaměření prvku tento prvek zvýraznil a zaměřil - ideálně změnou stylu.
Js mám takto:
function validace(formular){
       ......
       if (window.RegExp) {
             re=new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
             if (!re.test(formular.email.value)) {
                  window.alert("Zadaná adresa není platným e-mailem!");
                  formular.email.focus();
                  return false;
             }
        } 
    return true;
}
a formulář je takto:
<form action="<?php echo $PHP_SELF ?>" method="get" name="form" onsubmit="return validace(this)">
...
<tr>
                <td align="right"><?php if($chyba["email"]==1) {echo "<span id=\"red\"><strong>Email:</strong></span>";}else{echo "Email:";} ?></td>
                <td class="inputs">
                    <input type="text" maxlength="80" name="email" size="20" value=" :: Email :: " onfocus="if(this.value==' :: Email :: ') this.value=''" title="Vyplňte Váš email ve tvaru xxxx@xxxx.xx" />
                </td>
            </tr>
...
Ideálně bych to viděl ve stylopisu třeba takhle (jenom příklad)
#chyba {
    background: red;
}
Při false při validaci by se aktivoval u inputu styl jenomže nevím jak to do funkce místo window.alert() napsat.
Poradí někdo?
Ján Jakabovič
Profil
Odstráňte preč riadok window.alert("Zadaná adresa není platným e-mailem!"); a do štýlov pridajte .inputs input:focus{background-color:red;}
Ján Jakabovič
Profil
to do štýlov pridajte xxx je zle, namiesto toho window.alert(xxxxx); tam dajte:
 formular.email.className="chyba";
a potom ešte spravte štýl pre chybu:
.chyba {
    background-color: red;
}
Prefin
Profil
Ján Jakabovič:
Díky za radu. Přiznám se, že jsem trošku čekal nějakou odpověď ve stylu že se mám naučit a nebo že existuje google.
Ještě jednou díky, hned to zkusím.

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: