- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con form
-
Problema con form
Salve ragazzi! Nel mio sito ho inserito un form il quale prima dell'invio richiede il calcolo di una formula per prevenire lo spam. Ebbene tutto funziona a dovere solo che con internet explorer ricevo 2 errori durante l'invio eccoli:
Linea: 65 Carattere: 1 Errore: 'required' non è definito Codice: 0 URL: http://www.winrevolution.com/Richieste/form.php?done=1
Linea: 32
Carattere: 15
Errore: Previsto ';'
Codice: 0
URL: http://www.winrevolution.com/Richieste/form.php?done=1<form name="fcform2" method="post" action="process_form.php" onsubmit="return validate.check()">
<div id="fcf2">
<h3>Contattami</h3>
<p>I campi contrassegnati con <em>*</em> sono obbligatori.</p><div class="r">
<label for="fullname" class="req">Nome: <em>*</em></label>
<span class="f">
<input type="text" name="fullname" size="40" id="fullname" onBlur="trim('fullname')">
</span>
</div><div class="r">
<label for="email" class="req">Indirizzo email: <em>*</em></label>
<span class="f">
<input type="text" name="email" size="40" id="email" onBlur="trim('email')">
</span>
</div><div class="r">
<label for="comments" class="req">Commento: <em>*</em></label>
<span class="f">
<textarea cols="30" rows="8" name="comments" id="comments" onBlur="trim('comments')"></textarea>
</span>
</div><div class="r">
<label for="quest" class="req"><?php echo $question; ?> <em>*</em></label>
<span class="f">
<input type="text" name="answer_out" size="6" id="answer_out" onBlur="trim('answer_out')">Prevenzione spam.
</span>
</div><div class="sp"> </div>
<?php
if(isset($_GET['done'])) {
echo '<div align="center" style="color:red;font-weight:bold">'.$confirmation_message.'</div><br />';
}
?>
<p align="center">
<input type="submit" value="Invia">
<br />
</p>
</div><input type="hidden" name="answer_p" value="<?php echo $answer_pass; ?>"> <input type="hidden" name="enc" value="<?php echo $enc; ?>">
</form>
-
credo sia un problema di javascript, quindi dovresti postare anche il codice javascript...
-
Ecco il codice javascript
function $$(id) { try { var tmp = document.getElementById(id).value; } catch(e) { alert("Field " + id + " does not exist!\nvalidation is configured on a field with no ID"); return false; } if(tmp == "") { alert("Field " + id + " cannot be empty"); return false; } return tmp; } var required = { field : [], add : function(name, type) { this.field[this.field.length] = [name,type]; }, out : function() { return this.field; } } var validate = { check : function() { var tmp; // loop all required fields for(var i=0; i<required.field.length; i++) { // check the form field exists this.tmp = $$(required.field*[0]); if(this.tmp) { if(this.checkit(required.field*[0],required.field*[1])) { // validated okay } else { alert("Field "+required.field*[0]+" not valid\n"); document.getElementById(required.field*[0]).focus(); return false; } } else { try { document.getElementById(required.field*[0]).focus(); } catch(e) { } return false; } } // for return true; }, checkit : function(value,type) { exp : ''; switch(type) { case "NOT_EMPTY": if(this.trim($$(value)).length < 1) { return false; } else { return true; } break; case "ALPHA": exp = /^[A-Za-z]+$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "ALPHASPACE": exp = /^[A-Za-z ]+$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "NUMERIC": exp = /^[0-9]+$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "NUMERICPLUS": exp = /(^-*\d+$)|(^-*\d+\.\d+$)/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "ALPHANUM": exp = /^[a-zA-Z0-9]+$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "ALPHANUMSPACE": exp = /^[a-zA-Z0-9 ]+$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "EMAIL": exp = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "YYYYMMDD": exp = /^(19|20)[0-9][0-9][- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "DDMMYYYY": exp = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9][0-9]$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; case "MMDDYYYY": exp = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)[0-9][0-9]$/; if($$(value).match(exp)==null) { return false; } else { return true; } break; default: exp = new RegExp(type); if($$(value).match(exp)==null) { return false; } else { return true; } } // switch }, trim : function(s) { return s.replace(/^\s+/, '').replace(/\s+$/, ''); } } function $val(id) { return document.getElementById(id); } function trim(id) { $val(id).value = $val(id).value.replace(/^\s+/, '').replace(/\s+$/, ''); }