Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579

    Non inviare il modulo se ci sono degli errori

    Ho creato questo script che convalida 14 radio-bottom al click.

    codice:
    var partite=14
    r = new Array(partite);
    
    function inizializza() {
      for (i=1; i <=partite; i++) {
        r[i] = 0;
      }
    }
    
    function calcola() {
    
    var risposte = 0;
      for (i=1; i <=partite; i++) {
      
        if ( r[i] == 0 )
         
        {   window.alert("Manca la domanda n. "+ i +".")
        } else {risposte = risposte + r[i]} ;  
    	
      }
    
    }
    Vorrei però che non mi inviasse il modulo se ci sono degli errori... Come posso fare???

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    579

    Convalida radio bottom con i cicli

    Ho scritto questo javascript per una schedina...
    Il problema è che invia il modulo controllando solo i primi radiobottom selezionati, escludendo quindi i rimanenti...
    Ad esempio: se seleziono il primo radiobottom, mi invia direttamente il modulo, senza controllare i restanti 13...
    Come mai???

    var partite=14
    function schedinapro() {
    for (f=1; f <=partite; f++) {
    for (var i=0;i<formsched.elements['ris_'+f].length;i++) {
    if (formsched.elements['ris_'+f][i].checked)
    return true;
    }
    alert("Inserisci il tuo pronostico per la partita n. "+f+", grazie.");

    }
    return false;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quello script contiene errori JS.

    Se nel vettore ci sono 14 elementi, non puoi indirizzarne 15 (i 14 vanno da 0 a 13).
    Vedi queste modifiche:
    codice:
    var partite = 14;
    var r = new Array(partite);
    
    function inizializza() {
      for (var i=0; i<partite; i++) {
        r[i] = 0;
      }
    }
    
    function calcola() {
      var risposte = 0;
      for (var i=0; i<partite; i++) {
        if ( r[i] == 0 ){
          window.alert("Manca la domanda n. "+ i +".")
          return false;
        } else {
          risposte += r[i];
        } 
      }
    }
    La funzione a chiamata con:
    onQUALCOSA="return calcola();"

    Se non capisci questo suggerimento, posta il codice HTML che richiama la funzione.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si trattava di due richieste evidentemente riferite allo stesso problema.
    Ho unito le discussioni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.