Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    42

    Malfunzionamento typeof

    Ciao a tutti! Stavo scrivendo un programma quando mi sono imbattuto in un problema: se faccio il typeof di una casella di testo viene restituito sempre string. Ho provato a scrivere numeri, valori booleani, caratteri speciali ma niente da fare.
    codice:
      
      function prova()  {
      document.prova.testo.value = typeof document.prova.testo.value
      }
    Spero che qualcuno sappia come fare, sono disperato!

    EDIT: Probabilmente ho postato nella sezione sbagliata, se sì potreste dirmi come spostare? Grazie.
    Ultima modifica di kaine25; 26-01-2014 a 13:05

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    sposto in js

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Credo che sia nomale perché i campi form "inviano" sempre stringhe leggi qui il funzionamento di typeof
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    42
    Sì, ho già letto l'articolo ma mi chiedo come si possa fare per rendere "neutro" il campo di testo in modo da poter far funzionare il costrutto if​.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non penso sia possibile, prova a forzare il valore in numerico parseInt/parseFloat
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    42
    Ci ho pensato ma a me serve che riconosca se è un numero o meno. Mi spiego meglio: se è un numero allora si esegue il blocco di istruzioni altrimenti si presenta un messaggio di errore. Se conosci altri modi per fare la stessa cosa potresti dirmeli? Grazie.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non capisco perché non puoi forzare i numeri, in alternativa prova con isNaN()
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    42
    Ho appena capito cosa intendi per "forzare i numeri", scusa per la mia ignoranza . Comunque ho scritto il programma ma mi restituisce sempre il blocco dell'else.
    codice:
      function principale()  {
      if(parseInt(document.F1.T1.value) == "NaN")
      {
       alert("Per favore inserisci solo valori numerici.")
      }
      else
      {
       document.F1.T1.value= "ben fatto!"
      }
      }

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    42
    Ho corretto lo script aggiungendo toString()
    codice:
    function principale()   {
    if(parseInt(document.F1.T1.value).toString() == "NaN")
      {
       alert("Per favore inserisci solo valori numerici.")
      }
    else
      {
       document.F1.T1.value="ben fatto!"
      }
    }
    Sembra funzionare ma quando inserisco ad esempio 1a, il valore viene riconosciuto come numero e viene visualizzato ben fatto!
    Ultima modifica di kaine25; 28-01-2014 a 19:09

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se vuoi inserire solo numeri usa questa funzione
    codice:
    function principale(){
    var num = /[0-9]/g;
    if(!document.F1.T1.value.test(num))
      {
       alert("Per favore inserisci solo valori numerici.")
      }
    else
      {
       document.F1.T1.value="ben fatto!"
      }
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.