Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con IF

  1. #1
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567

    Problema con IF

    Ciao a tutti, ho un problema con una condizione e non riesco a capire dove sbaglio, vi posto il codice:

    Codice PHP:
    if ((form1.modulo13.value != "abc7") || (form1.modulo13.value != "ABC7") || (form1.modulo13.value != "AbC7")){ 
    In pratica voglio che se il dato preso dal modulo non è uguale ai 3 valori mi dia un alert, il problema che se scrivo solo il confronto con il primo dato (abc7), funziona, se uso OR per confrontare con gli altri due non va.
    Ho provato anche a scrivere la condizione in modo diverso (di seguito vi posto i vari tentativi), ma continua a non funzionare. Sapreste indicarmi dove sbaglio?

    Codice PHP:
    if (!(form1.modulo13.value == "abc7") || !(form1.modulo13.value == "ABC7") || !(form1.modulo13.value == "AbC7")){ 
    Codice PHP:
    if (form1.modulo13.value != "abc7" || form1.modulo13.value != "ABC7" || form1.modulo13.value != "AbC7"){ 
    Codice PHP:
    modulo13=form1.modulo13.value;
    if (
    modulo13 != "abc7" || modulo13 != "ABC7" || modulo13 != "AbC7"){ 
    Ho provato anche con gli apici al posto delle virgolette e a mettere OR anzichè || ma nulla. Il problema sembra proprio l'operatore OR

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il problema potrebbe essere che chiami la variabile come il campo input
    Ultima modifica di cavicchiandrea; 28-01-2014 a 14:45
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prendi il tuo primo if

    codice:
    if ((form1.modulo13.value != "abc7") || 
        (form1.modulo13.value != "ABC7") || 
        (form1.modulo13.value != "AbC7")){  
    e supponi che il valore di quel campo sia "antani"
    quella condizione diventa

    codice:
    if (true || true || true)
    se vuoi entrare nell'if quando il valore non è uno di quei tre dovrai scrivere

    codice:
    if (!(
        (form1.modulo13.value == "abc7") || 
        (form1.modulo13.value == "ABC7") || 
        (form1.modulo13.value == "AbC7")
       )){  
    inoltre se hai molte condizioni da controllare e non solo tre è meglo fare un array lookup o un object lookup (sui browser meno recenti)

    del tipo

    codice:
    var condizioniTuttoSommatoAccettabili = ['abc7', 'Abc7', 'ABC7', 'Anchequestovabene'];
    
    if (condizioniTuttoSommatoAccettabili.indexOf(form1.modulo13.value) < 0) {
       alert(...)
    };

    infine, se il tuo scopo è controllare solo un diverso confronto di maiuscole e minuscole dell'input inserito, ti conviene fare uno string.toLowerCase() (o toUpperCase()) e fare UN solo confronto sul dato in minuscolo (o maiuscolo)
    Ultima modifica di fcaldera; 28-01-2014 a 15:07
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it L'avatar di flash20
    Registrato dal
    Dec 2003
    Messaggi
    567
    Ok ci sono riuscito, grazie per il consiglio sul confronto delle maiuscole, non lo conoscevo, molto utile (mastico ancora poco javascript)

    Grazie

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.