Salve,
ho scritto un codice per limitare le selezioni di input checkbox a 2 disabilitando in automatico tutte le altre + il bottone x l'invio del form.
Inoltre quando si seleziona un checkbox viene aggiunta una classe per cambiare il background della riga all'interno della tabella.
Ora...funziona tutto però.... dato che secondo me è scritto molto male vorrei sapere se potete aiutarmi ad ottimizzare il codice riscrivendolo d'accapo in più mi servirebbe inoltre che vengano passato i due valori dei checkbox selezionati in 2 campi hidden.
---> FOGLI DI STILE (inserisco solo la classe che modifica il background della riga)
codice:
.selected { background-color: #E0EFF7; }
---> CODICE JAVASCRIPT
codice:
<script type="text/javascript">
/* Highlight Row */
function highlight(id, currentClass, checkboxId)
{
var checkbox_element = document.getElementById(checkboxId);
var row_element = document.getElementById(id);
var lista_check = document.getElementsByTagName("input");
var conta = 0;
row_element.className = checkbox_element.checked ? 'selected' : currentClass;
for(i = 0; i < lista_check.length; i++){
if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == true){
conta++;
}
}
if (conta == 2) {
document.getElementById('submit').disabled=false;
for(i = 0; i < lista_check.length; i++){
if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == false){
lista_check.item(i).disabled = true;
}
}
}
if (conta < 2) {
document.getElementById('submit').disabled=true;
for(i = 0; i < lista_check.length; i++){
if(lista_check.item(i).getAttribute("type") == "checkbox" && lista_check.item(i).checked == false){
lista_check.item(i).disabled = false;
}
}
}
if(conta > 2){
document.getElementById(checkboxId).checked = false;
}
}
</script>
--> FORM il campo $item->id viene generato con un ciclo foreach dove estrapola il valore da un database (inserisco solo alcune righe)
codice:
<form action="/confronta/?" method="get" name="mioform" accept-charset="utf-8">
<input type="hidden" name="valore1" value="">
<input type="hidden" name="valore2" value="">
<tr id="tr<?php echo "$item->id"; ?>" class="tr_class">
<td class='num'><input id="<?php echo "$item->id"; ?>" type="checkbox" class="" value="<?php echo "$item->id"; ?>" onClick="JavaScript: highlight('tr<?php echo "$item->id"; ?>', '<?php echo $item->class ?>', this.id);"></td>
<td class='num'><input id="<?php echo "$item->id"; ?>" type="checkbox" class="" value="<?php echo "$item->id"; ?>" onClick="JavaScript: highlight('tr<?php echo "$item->id"; ?>', '<?php echo $item->class ?>', this.id);"></td>
<td class='num'><input id="<?php echo "$item->id"; ?>" type="checkbox" class="" value="<?php echo "$item->id"; ?>" onClick="JavaScript: highlight('tr<?php echo "$item->id"; ?>', '<?php echo $item->class ?>', this.id);"></td>
<td class='num'><input id="<?php echo "$item->id"; ?>" type="checkbox" class="" value="<?php echo "$item->id"; ?>" onClick="JavaScript: highlight('tr<?php echo "$item->id"; ?>', '<?php echo $item->class ?>', this.id);"></td>
</tr>
<input type="submit" id="submit" value="Confronta" disabled>
</form>
Funziona tutto ma come ho detto prima vorrei sapere se è possibile scrivere un codice migliore e in piu passare i due valori nei 2 campi hidden.
Spero che qualcuno sappia aiutarmi. 
Grazie!!