Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di munky
    Registrato dal
    May 2001
    Messaggi
    381

    confrontare i valori di due select

    Salve!
    In un form ho due select con all'interno dei numeri interi.
    All'invio del form devo effettuare un controllo sui valori delle due select. Esattamente devo verificare che il valore della seconda sia maggiore del valore della prima.

    come posso fare?
    don't surf the net...make the waves!

    ..::> finger deep within the borderline <::..

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Intendi che i value delle select sono delle stringhe che rappresentano numeri interi?
    Ecco il codice per questo.

    var s1 = document.NOMEFORM.NOMESLECT1;
    var val1 = parseInt(s1.options[s1.selectedIndex].value);
    var s2 = document.NOMEFORM.NOMESLECT2;
    var val2 = parseInt(s2.options[s2.selectedIndex].value);
    if (val1 >= val2) {
    alert("scelta errata");
    return false;
    } else {
    return true;
    }


    In alternativa puoi impedire la scelta di un valore di s2 minore di s1 (con funzioni da richiamare all'evento onchange delle due select).

    Ciao
    Michele
    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 munky
    Registrato dal
    May 2001
    Messaggi
    381
    grazie 1000 mich, provo appena ho un attimo e ti faccio sapere!

    don't surf the net...make the waves!

    ..::> finger deep within the borderline <::..

  4. #4
    Utente di HTML.it L'avatar di munky
    Registrato dal
    May 2001
    Messaggi
    381
    niente mich.
    anche che faccio verificare la condizione, va a finire sempre all'else (cioè come se avessi inserito bene i numeri in modo corretto).
    verificando il valore della variabile mi da undefined, quindi non li confronta proprio!

    auitooooo!
    don't surf the net...make the waves!

    ..::> finger deep within the borderline <::..

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Vedi cosa contengono le variabili nello script:

    var s1 = document.NOMEFORM.NOMESLECT1;
    var val1 = parseInt(s1.options[s1.selectedIndex].value);
    var s2 = document.NOMEFORM.NOMESLECT2;
    var val2 = parseInt(s2.options[s2.selectedIndex].value);
    alert("prova - val1="+val1+" - val2="+val2);

    if (val1 >= val2) {
    alert("scelta errata");
    return false;
    } else {
    return true;
    }

    Inoltre ci potrebbero essere dei problemi di implementazione. Se non riesci da solo, posta il form completo e la funzione completa (in questo post si vede solo un pezzetto della funzione)

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di munky
    Registrato dal
    May 2001
    Messaggi
    381
    per quanto riguarda i valori, sono entrambi NaN.

    posto il codice della funzione di controllo:

    <script language="javascript" type="text/javascript">
    function controlla() {

    var s1 = document.Form3.sez3;
    var val1 = parseInt(s1.options[s1.selectedIndex].value);
    var s2 = document.Form3.sez5;
    var val2 = parseInt(s2.options[s2.selectedIndex].value);
    alert("prova - val1="+val1+" - val2="+val2);

    if (val1 > val2) {
    alert("Attenzione! Controllare l'anno");
    return false;
    } else {
    return confirm("Siete sicuri delle informazioni inserite?");
    }
    }
    </script>


    questo è il form:

    <form name="Form3" method="post" action="sez4.asp" onSubmit="return controlla()">

    <tr>
    <td height="200" valign="top" style="padding-left: 20; padding-right:20" colspan="2">
    [img]images/sez3.gif[/img]
    <select name="sez3" size="1">
    <% for i=1980 to 2004 %>
    <option><% response.write i %></option>
    <%next%>
    </select>



    <select name="sez5" size="1">
    <% for i=1980 to 2004 %>
    <option><% response.write i %></option>
    <%next%>
    </select>



    <input type="image" src="images/avanti.gif">
    </td>
    </tr>

    </form>

    (scusa per la lunghezza del post ma ho cercato di togliere molte parti inutili)

    grazie 1000 per la disponibilità!
    don't surf the net...make the waves!

    ..::> finger deep within the borderline <::..

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non hai definito gli attributi value per le options, cosa che invece lo script richiede.

    Prova con questa modifica (ma controlla la sintassi ASP: io non la conosco e vado ad intuito):

    <option value="<% response.write i %>"><% response.write i %></option>

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it L'avatar di munky
    Registrato dal
    May 2001
    Messaggi
    381
    madonna che deficente.....
    mi sono preoccupato talmente tanto della funzione che mi sono cagato minimamente il form. Sono veramente un
    scusami...adesso mi martellerei i mignoli con una mazzetta da 5 kili...

    ciao e grazie!
    don't surf the net...make the waves!

    ..::> finger deep within the borderline <::..

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.