Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    ccondizione falsata , controllo di campo ma esegue sempre la condizione!

    Spiego un po meglio il problema che non ho avuto molto tempo oggi pomeriggio :

    codice:
    var countFisc = 0 ;
       var undici = 11;
       var sedici = 16
      if ((cfisc== \"\") || (cfisc== \"undefined\"))
           {
           alert(\"Il campo Codice Fiscale è obbligatorio.\");
           document.ricerca2.cfisc.focus();
           return false;
           }else{
            for (var i = 0 ; i < cfisc.length ; i++){
             countFisc++;
            }
            if ((countFisc != sedici) || (countFisc != undici)){
             alert(\"se si visualizza questo messaggio riprovare tra pochi secondi\");
             document.ricerca2.cfisc.focus();
             return false;
            }  
           }
    lo script qua sopra prende un valore che è quello di codicefiscale.
    con questa stringa ricavo ricavo il valore
    codice:
    var cfisc = document.nome_form.name_variabile.value;
    successivamente verifico se il campo è stato riempito , se si tutto liscio se no scatta alert("").

    Questo lo fa , quello che non fà e la condiszione else.

    questa condizione dice che se il campo è pieno ciclo il valore che è contenuto in cfisc ; in maniera da restituirmi la lunghezza della stringa (fin qui tutto bene , il debug mi dice che la variabile countFisc contiene n valori).

    il problema è nella condizione sucessiva ossia
    codice:
    if ((countFisc != sedici) || (countFisc != undici)){
    o provato anche con :
    codice:
    if ((countFisc != 11) || (countFisc != 16)){
    ma nulla, se la variabile countFisc è diversa da questi 2 valori dovrebbe entrare nella condizione e restituirmi un alert , ma in realtà sembra che non la legga. il debug mi mostra che qualsiasi valore abbia countFisc mi ritorna false entrando nella condizione anche se i valori sono 11o 16.

    qualcuno a qualche idea?
    il ragionamento dovrebbe essere corretto , anche il confronto ;
    se countFisc è diverso da 11 o da 16 non dare alert.
    tradotto in codice , lo possiamo vedere sopra!

    grazie , buonanotte a tutti!

    dimenticavo , tutto ciò è all'interno di un file php, ricavo dal php il paramentro di cfisc!

  2. #2
    Ah, la logica!

    Se countFisc &egrave; contemporaneamente diverso da 16 e da 11 ...

    codice:
    if ((countFisc != 11) && (countFisc != 16)){
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    si , ora provo , ma il valore non può assumere 2 valori , o è 11 o e 16 .

    quindi se countfisc è diverso da 11 fai questo oppure se diverso da 16 fa questo!

    non è un or?

  4. #4
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    avevi ragione era un && .
    ti ringrazio

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.