Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con una semplice condizione

    Salve. Ho un problema con questo codice:

    Codice PHP:
                            <script type "text/javascript">
                                
    //<!--
                                
    function verifyForm()
                                {
                                    var 
    options = new Array();
                                    
    options[0] = document.searchForm.mqbegin;
                                    
    options[1] = document.searchForm.mqend;
                                    
    options[2] = document.searchForm.pricebegin;
                                    
    options[3] = document.searchForm.priceend;
                                    
                                    for (var 
    0options.lengthi++)
                                    {
                                        if (
    typeof (options[i].value) == "string")
                                        {
                                            
    alert ("I campi devono contenere solo numeri interi!");
                                            return 
    false;
                                        }
                                    }
                                    
                                    return 
    true;
                                }
                                
    //-->
                            
    </script> 
    E' una semplice funzione che raccoglie il valore dei campi (input text) di un modulo e verifica che il loro contenuto sia esclusivamente numerico. Il problema è che la condizione che si trova nel ciclo for risulta sempre vera, cioè che il valore dei campi sono di tipo stringa anche quando inserisco solo numeri! Dov'è il problema?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Perché non li trasformi in numeri prova cosi:
    parseInt(document.searchForm.mqbegin) //numeri interi
    parseFloat(document.searchForm.mqbegin) //numeri con la virgola
    va ripetuto per tutti i campi che devono essere numeri, ho anche qualche dubbio sul
    if (typeof (options[i].value) == "string") più precisamente sullo string racchiuso tra le virgolette, comunque se funziona mi sbaglio io altrimenti prova a toglierle.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    Perché non li trasformi in numeri prova cosi:
    parseInt(document.searchForm.mqbegin) //numeri interi
    parseFloat(document.searchForm.mqbegin) //numeri con la virgola
    va ripetuto per tutti i campi che devono essere numeri, ho anche qualche dubbio sul
    if (typeof (options[i].value) == "string") più precisamente sullo string racchiuso tra le virgolette, comunque se funziona mi sbaglio io altrimenti prova a toglierle.
    Grazie ho risolto creandomi una funzioncina che verifica che una stringa non abbia lettere :P

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.