Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Controllo incrociato su valori campi form

    Ciao al forum.

    Ho questi campi in un form:
    codice:
    <input name="campoX" value="" size="14">
    <input name="campoY" value="" size="14">
    <input name="campoZ" value="" size="14">
    <input name="campoW" value="" size="14">
    
    <select size="1" name="equivalente">
                <option>0</option>
                <option>1</option>
                <option>2</option>
                </select>
    Come faccio a prevedere un controllo che quando almeno uno dei campi (X, Y, Z, W) è valorizzato (cioè diverso da zero), nella select "equivalente" venga esclusa la possibilità di selezionare il valore zero????

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    ad esempio:
    codice:
    function check_incr() {
      var ff = document.NOMEFORM; // (o equivalente)
    
      var xx = ff.campoX.value;
      var yy = ff.campoY.value;
      var zz = ff.campoZ.value;
      var ww = ff.campoW.value;
    
      var or = xx!='' || yy!='' ||zz!='' || ww!='';
      if(or && ff.equivalente.selectedIndex==0) {
        alert("combinazione non corretta");
        return false;
      }
      return true;
    }
    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 L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie, il codice funziona correttamente se:

    X = 1
    Y = 1
    Z = 1
    W = 1

    equivalente = 0

    lo script restituisce "Combinazione non corretta".

    Ma se:

    X = 0
    Y = 0
    Z = 0
    W = 0

    equivalente = 1

    il form viene inviato... invece in questo caso anche il valore del campo "equivalente" deve essere 0, dunque non deve essere possibile selezionare 1 o 2... mi segui???

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a seguirti.

    Puoi scrivere le tue condizioni in forma matematica (meglio se usi gli insiemi)?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Originariamente inviato da Mich_
    Non riesco a seguirti.

    Puoi scrivere le tue condizioni in forma matematica (meglio se usi gli insiemi)?
    Cerco di spiegarmi meglio, almeno ci provo:

    se X <> 0 oppure Y <> 0 oppure Z <> 0 oppure W <> 0
    il campo del form chiamato "equivalente" non può assumere valore 0;

    se X = 0 oppure Y = 0 oppure Z = 0 oppure W = 0
    il campo del form chiamato "equivalente" non può assumere valore 1;

    Adesso è piu' chiaro?
    Grazie.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ora e` chiaro, ma ho l'impressione che non sia l'unica condizione. Comunque intanto ti aggiungo questa:
    codice:
    function check_incr() {
      var ff = document.NOMEFORM; // (o equivalente)
    
      var xx = ff.campoX.value;
      var yy = ff.campoY.value;
      var zz = ff.campoZ.value;
      var ww = ff.campoW.value;
    
      var or = xx!='' || yy!='' || zz!='' || ww!='';
      if(or && ff.equivalente.selectedIndex==0) {
        alert("combinazione non corretta");
        return false;
      }
    
      var set1 = xx=='' || yy=='' || zz=='' || ww=='';
      if(set1 && ff.equivalente.selectedIndex==1) {
        alert("combinazione non corretta");
        return false;
      }
    
      return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Il form continua ad essere inviato... :master: quando X = 0 oppure Y = 0 oppure Z = 0 oppure W = 0
    equivalente = 1

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Posta il tag che chiama lo script.

    Comunque in linea di massima dovrebbe essere:
    <form ... onsubmit="return check_incr();">
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    codice:
    <form name="MyForm" method="POST" action="processa.asp" onsubmit="return check_incr();">

  10. #10
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    ... cosi' funziona, ma è corretto :???
    codice:
    var set1 = xx==0 || yy==0 || zz==0 || ww==0;
      if(set1 && ff.equivalente.selectedIndex==1) {
        alert("combinazione non corretta");
        return false;
      }

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 © 2026 vBulletin Solutions, Inc. All rights reserved.