Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: operatori logici

  1. #1

    operatori logici

    Codice PHP:
            if ((elemento.name=="LettoDatiPersonali"||elemento.name=="SottoscrittoDP"||elemento.name=="NoteTrasparenza"||elemento.name=="FoglioInformativo")&&elemento.checked==false) {
                    
    elemento.style.backgroundColor="#ecf1f6";
                    
    ok=false;

    uso questa condizione if per rendere obbligatoria la selezione di alcune checkbox

    (la condizione if è in un ciclo che scorre tutti gli elementi del modulo)

    Le checkbox della pagina NON devono essere tutte obbligatorie, l'ultima: 'CopiaContrattuale' può essere lasciata non selezionata.

    Quindi io ho inserito nella condizione if gli elementi da rendere obbligatori.

    Il problema è che anche 'CopiaContrattuale' mi diventa obbligatoria.

    come si spiega?

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

  3. #3
    a me il codice risulta essere corretto...

  4. #4
    se (nome-elemento=x Oppure nome-elemento=y E ANCHE l'elemento non è selezionato)
    alert errore

  5. #5
    parrebbe corretto

    posta il resto del codice

  6. #6
    Codice PHP:
    function successivo (modulo) {
        var 
    ok=true;
        for (
    i=0i<document.forms[modulo].elements.length-1i++) {
            var 
    elemento=document.forms[modulo].elements[i];

            if ((
    elemento.name=="LettoDatiPersonali"||elemento.name=="SottoscrittoDP"||elemento.name=="NoteTrasparenza"||elemento.name=="FoglioInformativo")&&elemento.checked==false) {
                
    elemento.style.backgroundColor="#ecf1f6";
                
    ok=false;
            } else {
                                
    elemento.style.backgroundColor="#ffffff";
                        }

    }
        if (
    ok==false) {
            
    alert("Controllare i campi evidenziati");
        }else{
            
    document.forms[modulo].submit();
        }


  7. #7
    ripeto che sembrerebbe corretto, a meno che non ci siano errori nell'html (tipo che hai nominato due elementi allo stesso modo

    al limite fai una cosa piu' snella che ti evita di ciclare tutti quei campi che non devi controllare

    codice:
    function successivo (modulo) {
        var ok=true;
        var elementi_da_controllare = new Array("LettoDatiPersonali", "SottoscrittoDP", "NoteTrasparenza", "FoglioInformativo");
        for (i=0; i<elementi_da_controllare.length; i++) {
            var elemento=document.forms[modulo].elements[elementi_da_controllare[i]];
            if (elemento.checked==false) {
                elemento.style.backgroundColor="#ecf1f6";
                ok=false;
            } else {
                elemento.style.backgroundColor="#ffffff";
            }
        }
        if (ok==false) {
            alert("Controllare i campi evidenziati");
        }else{
            document.forms[modulo].submit();
        }
    }

  8. #8
    nemmeno il tuo sistema mi funziona...

    mi dice 'checked' è nullo o non è un oggetto


  9. #9
    l'ho fatto girare,

    da lo stesso problema del mio sistema... ...rende obbligatoria anche l'ultima checkbox

  10. #10
    allora c'e' un problema nell'html

    infatti il mio sistema l'ultima check non la chiama nemmeno, visto che non e' nell'array (invece il tuo la chiamava, anche se poi in teoria l'if evitava di evidenziarla)

    Controlla se i nomi sono corretti e al limite posta l'html (possibilmente un link se e' troppo codice)

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.