Originariamente inviato da sergioDario
Ciao, ho sempre mandato array ad una pagina php tramite ajax usando il formato json.
Dopo nel file php gestisco usando json_decode().
Ciao.
Certo, mica non si può. È solo uno spreco di dati... questo è quello che intendo:
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Esempio</title>
<script type="text/javascript">
function ottieniArray () {
var tuoArray = [], aChkBoxes = document.querySelectorAll("input[type=checkbox]");
for (var nItem = 0; nItem < aChkBoxes.length; tuoArray.push(aChkBoxes[nItem++].checked));
return tuoArray.join(", ");
}
function ottieniBitmask () {
var nBitmask = 0, aChkBoxes = document.querySelectorAll("input[type=checkbox]");
for (var nItem = 0; nItem < aChkBoxes.length; nBitmask |= aChkBoxes[nItem].checked << nItem++);
return nBitmask;
}
function aggiorna () {
var nBitmask = ottieniBitmask();
document.getElementById("arrayDisplay").innerHTML = ottieniArray();
document.getElementById("bitmaskDisplay").innerHTML = nBitmask;
document.getElementById("sixthChBDisplay").innerHTML = nBitmask & 1 << 5 ? "S&igrave;" : "No";
}
</script>
</head>
<body onload="aggiorna();">
<form name="tuoForm">
<input type="checkbox" onchange="aggiorna();" name="chb1" />
<input type="checkbox" onchange="aggiorna();" name="chb2" />
<input type="checkbox" onchange="aggiorna();" name="chb3" />
<input type="checkbox" onchange="aggiorna();" name="chb4" />
<input type="checkbox" onchange="aggiorna();" name="chb5" />
<input type="checkbox" onchange="aggiorna();" name="chb6" />
<input type="checkbox" onchange="aggiorna();" name="chb7" />
<input type="checkbox" onchange="aggiorna();" name="chb8" />
<input type="checkbox" onchange="aggiorna();" name="chb9" />
<input type="checkbox" onchange="aggiorna();" name="chb10" />
<input type="checkbox" onchange="aggiorna();" name="chb11" />
<input type="checkbox" onchange="aggiorna();" name="chb12" />
<input type="checkbox" onchange="aggiorna();" name="chb13" /></p>
</form>
<h3>Risultati</h3>
<ul>[*]Array: [<span id="arrayDisplay"></span>],[*]Bitmask: <span id="bitmaskDisplay"></span>,[*]Controlla la sesta checkbox tramite bitmask&hellip;: &egrave; selezionata? <span id="sixthChBDisplay"></span>.
<ul>
</body>
</html>
Sia il prolisso array che quel microscopico numero contengono la stessa quantità di informazione.
P.S. Il link che ho postato contiene una guida esaustiva sull'argomento.