In pagina de Contact.php, am si un formular care functioneaza asa: introduc datele si apoi apas butonul trimite.
Daca toate campurile sunt corect completate, mesajul impreuna cu datele completate sunt trimise pe mail sub forma de mesaj (nimic neobisnuit pana aici). Si in dreptul fiecarui camp apare cate o bifa verde (un jpg).
Daca insa ceva nu e bine (format incorect sau camp lipsa (toate fiind obligatorii!)), apare mesaj cu rosu (text). Datele introduse anterior raman insa la ecran (nu dispar; nu trebuie introduse din nou).
Mai exista inca un buton care reseteaza valorile. Apare un mesaj de tip pop-up, de informare, ca datele introduse vor fi sterse. Daca apas ok, datele se sterg.
Problema este ca NU vor sa dispara mesajele de eroare cu rosu (daca sunt) sau acele bife cu verde (daca sunt). Datele introduse in input-uri (campuri) se sterg insa.
Codul arata cam asa:
In partea de <head> am asa:
Cod: Selectaţi tot
<script type="text/javascript" language="javascript">
function sterge()
{
var r=confirm("Toate datele introduse in formular vor fi sterse!");
if (r==true) {
var x=document.getElementsByTagName("input");
for(var i=0; i<x.length; i++) {
if(x[i].type == "text") {
x[i].value= "";
}
}
document.getElementById("mesaj").value="";
nrcaractere();
$('.err').css('display','none');
}
}
</script>
- pentru validare, am un script php:
Cod: Selectaţi tot
<?php
if (isset($_POST['trimite']))
{ $error = FALSE;
if (empty($_POST['nume'])) {
$errors['nume']='Camp obligatoriu';
$error = TRUE;
}
else {
if (!preg_match('/^[a-zA-Z]{1,}$/',$_POST['nume'])) {
$errors['nume']='Numele trebuie sa contina doar litere';
$error = TRUE;
}
else {
$errors['nume']='<img src=/images/ok.jpg>';
}
}
- Apoi desenarea formularui:
Cod: Selectaţi tot
<form action="Contact.php" method="post">
<table id="form">
<tr>
<td><label for="nume">Nume: <span style="color: red"><sup>*</sup></span> </label></td>
<td><input type="text" name="nume" id="nume" maxlenght="20" value="<?php echo $_POST['nume']; ?>" /></td>
<td><span class="err"><?php if(isset($errors['nume'])) { print $errors['nume']; } ?></span></td>
</tr>
...
...
...
<tr>
<td></td>
<td align="center">
<button type="submit" name="trimite" title="Trimite mesajul" />Trimite</buton>
<button type="button" name="reset" onClick="sterge()" title="Reseteaza toate campurile" />Reset</button></td>
<td></td>
</tr>
</table>
</form>