Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316

    controllare multiselect?

    ciao, ho una multiselect (id = 'sel' name=' select[]') e voglio controllare che almeno un campo sia selezionato. la funzione viene chiamata con onSubmit

    codice:
    function check(x){
        if(x.getElementById('sel').length == 0)
            return = false;
    la mia idea è: se l'array è vuoto vuol dire che non è stato selezionato nulla..ma a quanto pare non funziona..

    grazie,
    L.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ed è corretto, devi eseguire un ciclo sulle option e verificare quale è checked (selezionata)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    grazie, sto provando questo ma non da segni di vita..

    codice:
    function check(x){
        var sp = x.getElementById('sel');
        var i;
        for(i=0;i<sp.length;i+=1){
            if(sp.options[i].selected){
                OK_form = true;
                break;
            }
        }

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    function check(x){
        var sp = x.getElementById('sel');
        var i, OK_form;
        for(i=0;i<sp.options.length;i++){
            if(sp.options[i].selected){
                OK_form = true;
                break;
            }
        }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    OK_form è una variabile globale quindi è già definita fuori dalla funzione..a parte questo non mi entra nel ciclo for..

    codice:
    function check(x){
    alert('in'); //questo lo stampa
        var sp = x.getElementById('sel');
        var i;
        for(i=0;i<sp.options.length;i++){
            alert('for'); //questo non lo stampa
            if(sp.options[i].selected){
                alert('if'); //questo non lo stampa
                OK_form = true;
                break;
            }
        }
    }
    questo è il tag della select

    codice:
    <select id='sel' name='sp[]' multiple='multiple'>
    ...
    </select>
    non è che magari il problema è il getElementById? magari devo usare qualche altra funzione?
    grazie,
    L.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma come lo richiami?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    onSubmit, come dicevo..

    codice:
    <form action='GEN.php' method='post' onSubmit = 'return check(this)'>

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non l'avevo capito che veniva richiamato al submit prova cosi
    codice:
    function check(x){
    alert('in'); //questo lo stampa
        var sp = x.elements['sp[]'];
        var i;
        for(i=0;i<sp.options.length;i++){
            alert('for'); //questo non lo stampa
            if(sp.options[i].selected){
                alert('if'); //questo non lo stampa
                OK_form = true;
                return false;
            }
        }
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    funziona! ma quindi se chiamo una funzione con onSubmit non posso prelevare gli id dei vari campi del form?

    grazie
    L.

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    L'evento submit non centra nulla (o quasi) e che se passi il form (con this) alla funzione dopo non puoi usare il dom (getElementById) ma devi riferirti ad un oggetto del form
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2026 vBulletin Solutions, Inc. All rights reserved.