Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    test di verifica con controllo su select

    ciao a tutti
    ho l'esigenza di costruire un test di verifica basato su VARIE select e UN solo tasto submit finale: l'utente sceglie le varie voci dalle varie select e poi alla fine cliccando sul submit verifica se i vari valori da lui selezionati con le select sono giusti; pensavo di fare così... ma c'è un problema (che vi dico dopo)

    <script language="JavaScript">
    function controlla()
    {
    switch(document.domanda.risposta1.value)
    {
    case "giusto": document.location.href = "esatto.htm";
    break;
    default: document.location.href = "errore.htm";
    break;
    switch(document.domanda.risposta2.value)
    {
    case "giusto1": document.location.href = "esatto.htm";
    break;
    default: document.location.href = "errore.htm";
    break;
    }
    }
    }
    </script>

    il problema è che se la risposta1 è giusta e le altre sono sbagliate il javascript mi dà esatto lo stesso, ossia il controllo avviene solo sulla prima select e non su quelle dopo
    Come faccio ad organizzare un controllo GLOBALE? un controllo che mi dia ok SOLO se TUTTE le selct sono giuste??
    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    2 problemi: uno di logica ed uno di select.

    Devi decidere cosa deve fare incaso di errore. Un sistema potrebbe essre di uscire con codice false al primo errore.

    Il value di una select si ottiene con:
    document.NOMEFORM.NOMESELECT.options[document.NOMEFORM.NOMESELECT.selectedIndex].value
    quello che hai usato tu funziona solo in alcuni browser.

    Riassumendo:
    codice:
    function controlla() {
      var risp1 = document.domanda.risposta1;
      switch(risp1.options[risp1.selectedIndex].value) {
        case "giusto": 
          document.location.href = "esatto.htm";
          break;
        default:
          document.location.href = "errore.htm";
          return false;
          break;
      }
      var risp2 = document.domanda.risposta2;
      switch(risp2.options[risp2.selectedIndex].value) {
        case "giusto1":
          document.location.href = "esatto.htm";
          break;
        default:
          document.location.href = "errore.htm";
          return false;
          break;
      }
      return true;
    }
    Questo script va chiamato con:
    <form ... onsubmit="return controlla();">

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    GRAZIEEEEEEEE

    mitico!!!
    funziona da dio
    grazieeeeeeee

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.