Ciao a tutti,
ho la necessità di effettuare un controllo js su un modulo che vorrei inviare con XHR ma non riesco ad inserire i controlli sui campi questa è una prova .
Nel modulo che attualmente utilizzo, eseguivo nel onsubmit il controllo dei campi ma in questo modo non mi parte il modulo.
Spero possiate darmi una mano.
questo è il codice:
Codice PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nuova pagina 1</title>
<script type="text/javascript">
function xmlhttpPost(strURL,formname,responsediv,responsemsg)
{
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
updatepage(self.xmlHttpReq.responseText,responsediv);
}
else{
updatepage(responsemsg,responsediv);
}
}
self.xmlHttpReq.send(getquerystring(formname));
}
function getquerystring(formname) {
var form = document.forms[formname];
var qstr = "";
function GetElemValue(name, value) {
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
}
var elemArray = form.elements;
for (var i = 0; i < elemArray.length; i++) {
var element = elemArray[i];
var elemType = element.type.toUpperCase();
var elemName = element.name;
if (elemName) {
if (elemType == "TEXT"
|| elemType == "TEXTAREA"
|| elemType == "PASSWORD"
|| elemType == "BUTTON"
|| elemType == "RESET"
|| elemType == "SUBMIT"
|| elemType == "FILE"
|| elemType == "IMAGE"
|| elemType == "HIDDEN")
GetElemValue(elemName, element.value);
else if (elemType == "CHECKBOX" && element.checked)
GetElemValue(elemName,
element.value ? element.value : "On");
else if (elemType == "RADIO" && element.checked)
GetElemValue(elemName, element.value);
else if (elemType.indexOf("SELECT") != -1)
for (var j = 0; j < element.options.length; j++) {
var option = element.options[j];
if (option.selected)
GetElemValue(elemName,
option.value ? option.value : option.text);
}
}
}
return qstr;
}
function updatepage(str,responsediv){
document.getElementById(responsediv).innerHTML = str;
}
function checkRequiredFields(input)
{
var requiredFields = new Array("sname", "cognome", "email");
var fieldNames = new Array("Nome", "Cognome", "Email");
var fieldCheck = true;
var fieldsNeeded = "Attenzione riempire il/i campo/i richiesto/i:\n\n\t";
for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
if ((input.elements[requiredFields[fieldNum]].value == "") ||
(input.elements[requiredFields[fieldNum]].value == " ")) {
fieldsNeeded += fieldNames[fieldNum] + "\n\t";
fieldCheck = false;
}
}
if (fieldCheck == true)
{
if(!document.MyForm.consenso.checked)
{
alert('Per inoltrare la richiesta è necessario dare il consenso per il trattamento dei dati')
return false;
}
else
{
return true;
}
}
else
{
alert(fieldsNeeded);
return false;
}
}
</script>
</head>
<body>
<form name="MyForm" action="response_normal.asp" method="post" onsubmit="xmlhttpPost('contattainajax.asp?func=2&funcb=send', 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false;">
<table border="0" style="border-collapse: collapse; font-size:8pt; font-family:Tahoma; color:#0066CC" width="100%" id="table1">
<tr><td width="33%" colspan="3">
Richiesta per:
<select class="elba-form" size="1" name="richiesta">
<option value="Preventivo soggiorno">Preventivo soggiorno</option>
<option value="Conoscere disponibilita">Conoscere disponibilita</option>
<option value="Prenotare">Prenotare</option>
</select></p></td><td width="66%" colspan="2">
[b]<font size="1">Attenzione i campi in <font color="#FF0000">ROSSO</font> sono obbligatori</font>[/b]</td>
</tr>
<tr><td width="33%" colspan="3"><font color="#FF0000">[b]Nome:[/b]</font>
<input class="elba-form" type="text" size="32" name="sname" value=""></td><td width="33%"><font color="#FF0000">[b]Cognome:
[/b]</font><input class="elba-form" type="text" size="32" name="cognome"></td>
<td width="33%">[b]<font color="#FF0000">Email:</font>[/b]
<input class="elba-form" type="text" size="32" name="email" value=""></td></tr>
<tr><td width="11%">[b]<font color="#FF0000">Adulti:
</font>[/b]<select class="elba-form" size="1" name="adulti">
<option selected></option>
<option>1</option>
<option>2</option>
</select></td>
<td width="12%">Bamb.:(4-11)
<select class="elba-form" size="1" name="bambini">
<option selected></option>
<option>1</option>
<option>2</option>
</select> </td>
<td width="10%">(0-3)
<select class="elba-form" size="1" name="neonati">
<option selected></option>
<option>1</option>
<option>2</option>
</select></td>
<td width="33%"><font color="#FF0000">[b]Data di Arrivo[/b]</font>
<select class="elba-form" name="agg">
<option selected></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select> <select class="elba-form" name="amm">
<option selected></option>
<option value="1">1</option>
<option value="2">2</option>
</select> <select class="elba-form" size="1" name="aaa">
<option value="2008" selected>2008</option>
<option value="2009">2009</option></select></td>
<td width="33%">[b]<font color="#FF0000">Data Partenza</font>[/b]
<select class="elba-form" name="pgg">
<option selected></option><option value="1">1</option>
<option value="2">2</option>
</select>
<select class="elba-form" name="pmm">
<option selected></option>
<option value="1">1</option>
</select>
<select class="elba-form" size="1" name="paa">
<option value="2008" selected>2008</option>
<option value="2009">2009</option></select></td></tr>
<tr><td width="33%" colspan="3">Messaggio o richieste particolari:
<input class="elba-form" type="text" name="msg" size="32"></td><td width="66%" colspan="2"><font color="#FF0000">[b]Privacy:[/b]</font>
<INPUT TYPE="checkbox" name="consenso" VALUE="ON" checked>Autorizzo a trattare i dati inviati per le sole finalità sopra espresse.</td></tr>
<tr><td align="center" width="33%" colspan="5"><input class="elba-form" type="submit" value="Invia la richiesta di disponibilità preventivo e o informazioni" name="submit"></td></tr></table></form>
<div id="MyResult"></div>
</body>
</html>
Prima di inviare il form vorrei eseguire la funzione checkRequiredFields ma non trovo la soluzione.
Ciao