Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    problema con test checkbox quando...

    Ciao a tutti, ho un problema nel controllare se selezionata almeno una checkbox quando
    il risultato del sql mi stampa solo una riga.

    In pratica ho un contatore che mi stampa, se 1 una riga con la sua checkbox, mentre se e' due un'altra riga ma sempre con la sua checkbox (STESSO ID)

    <?php if ($contatore=='1'){?>
    <input type="checkbox" id="user" name="scelta_multipla[]" value="<?php echo $partner...

    <?php if ($contatore=='2'){?>
    <input type="checkbox" id="user" name="scelta_multipla[]" value="<?php echo $costumer..

    Quindi quando testo il document.user se e' stata stampata solo una riga questo controllo non funziona:

    codice:
    scelte = new Array();
    var marca = document.modulo.user;
    for (var i=0;i<marca.length;i++) { 
    if (marca[i].checked) 
    scelte[scelte.length] = marca[i].value;
    }
    if (scelte.length < 1) {
    alert ('selezionare un oggetto');
    return false;
    }
    Ora so che e' dovuto al fatto che uso due check con stesso ID, ma e' possibile risolvere il problema nel controllo e non modificando i nomi delle check?

    Ciao grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    var marca = document.getElementsByTagName("checkbox");
    for (var i=0;i<marca.length;i++) { 
    if (!marca[i].checked) alert('selezionare un oggetto');
    return false;
    }
    anche se è concettualmente sbagliato inserire due id uguali, che potresti avere problemi in seguito.


    P.S. Se da un errore riportarlo non l'ho testato.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Stesso effetto del ctr precedente emette sempre e comunque l'alert quando ho stampato un solo checkbox e lo ho selezionato. Non capisco.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Anzi scusa non e' come ti ho detto, il controllo non emette l'alert anche se non seleziono niente.

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Leggendo in giro nel forum ho visto un problema simile nel quale si dice che se c'e' solo un check non e' un array qiundi devo testarlo singolarmente, e' riportato questo codice che pero' non so come adattare

    // se btn non e' un Array (btn.length ritorna false), allora abbiamo un solo campo radio
    if (!(btn.length)) {
    // se btn e' checked, ritorno il suo value, altrimenti ritorno null
    return (btn.checked) ? btn.value : null;
    }
    var cnt = -1;
    for (var i = btn.length - 1; i > -1; i--) {
    if (btn[i].checked)
    {
    cnt = i;
    i = -1;
    }
    }
    if (cnt > -1)
    return btn[cnt].value;
    else
    return null;


    Ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Scrivo una possibile soluzuzione sapendo che non servira' a quasi nessuno, ciao e grazie

    if (document.modulo.user.checked) {
    window.open('','nome','width=385,height=215,left=1 93,top=267,location=no')
    document.modulo.target="_self";
    document.modulo.target="nome";
    document.modulo.action="sendobj.php";
    document.modulo.submit();
    }
    else {
    scelte = new Array();
    var marca = document.modulo.user;
    for (var i=0;i<marca.length;i++) {
    if (marca[i].checked)
    scelte[scelte.length] = marca[i].value;
    }
    if (scelte.length < 1) {
    alert ('selezionare un oggetto');
    return false;
    }
    else {
    window.open('','nome','width=385,height=215,left=1 93,top=267,location=no')
    document.modulo.target="_self";
    document.modulo.target="nome";
    document.modulo.action="sendobj.php";
    document.modulo.submit();
    }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.