buongiorno a tutti.
premetto che il mio campo è asp e javascrfipt e ajax non è il mio forte. Ho una pagina asp che tramite ajax da la possibilità di scegliere varie opzioni senza ricaricare tutte le volte la pagina come farei con asp.
adesso ho da aggiungere un controllo sul numero di checkbox selezionato limitarne la selezione e obbligare una selezione minima.
ho trovato vari script online che riescono a limitarne la selezione però non riesco ad integrarlo con lo script ajax che ho già. cioè se il numero è fisso lo scrivo dello script e questo funziona ma se il numero da selezionare cambia e quindi ci metto una variabile asp questo non funziona. vi posto un po di codice per farvi capire meglio.
---------------------------------------
SCRIPT AJAX
---------------------------------------
var estrai_colori_di_stampa;
var numero_colori_di_stampa;
function cerca_colori_di_stampa()
{numero_colori_di_stampa=document.form.numero_colo ri_di_stampa.options[document.form.numero_colori_di_stampa.selectedInde x].value
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
estrai_colori_di_stampa= new XMLHttpRequest();
estrai_colori_di_stampa.onreadystatechange = ricevi_colori_di_stampa;
estrai_colori_di_stampa.open("GET", "/e-commerce/negozio/prodotto_personalizzato.asp?numero_colori_di_stamp a=" + numero_colori_di_stampa , true);
estrai_colori_di_stampa.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
estrai_colori_di_stampa= new ActiveXObject("Microsoft.XMLHTTP");
if (estrai_colori_di_stampa) {
estrai_colori_di_stampa.onreadystatechange = ricevi_colori_di_stampa;
estrai_colori_di_stampa.open("GET", "/e-commerce/negozio/prodotto_personalizzato.asp?numero_colori_di_stamp a=" + numero_colori_di_stampa , true);
estrai_colori_di_stampa.send();}}}
function ricevi_colori_di_stampa() {
var colore;
if (estrai_colori_di_stampa.readyState == 4) {
colore=estrai_colori_di_stampa.responseText;
document.getElementById('colori').innerHTML = colore;}
---------------------------------------
SCRIPT CHE HO TROVATO ONLINE
---------------------------------------
var conta=0;
function ctr(quale)
{
if (quale.checked)
{
conta++;
if (conta > 1)
{
alert("Si possono esprimere al massimo 4 preferenze !");
quale.checked=false;
conta--;
}
}
else
{
conta>0?conta--:null;
}
}
---------------------------------------
FUNZIONE CHE VIENE RICHIAMATA TRAMITE ONCLICK
---------------------------------------
<input onClick="ctr(this)" type="checkbox" id="colore_stampa" name="colori_di_stampa1" value=" oro lucido-01" title="oro lucido">
------------------------------------------------------------
sono giorni che ci provo e non ne levo le gambe.