Visualizzazione dei risultati da 1 a 7 su 7

Discussione: errore [object]

  1. #1

    errore [object]

    Sono nuovamente bloccato.
    Quando si tratta di Javascript...
    In una pagina asp ho un form con vari input. Per qualcuno di questi volevo far scrivere solo numeri. Poi ho voluto eliminare la possibilità di inserire solo 0 come valore. Il problema sta nella seconda fase perchè non funziona. L'alert mi da [object] invece del numero.

    codice:
    function check0(numero) {
    alert(numero);
    if (numero==0){
         return false;
       } 
    }
     
    function check(evt) {
    var c = (evt.which) ? evt.which : event.keyCode;
     if ((c>=48 && c<=57)) {
      return true;
     }
     return false;
    }
    nella pagina c'è

    codice:
     
    <input onKeyPress="return check(event) && check0(this)" class="stile1" type="text" name="prezzo" size="9" maxlength="9"
    <%
    if varprezzo <> "" then
    response.write " value='" & varprezzo & "' "
    end if
    %>
    >euro
    Questa è solo una versione degli script.
    Anche se è singolo check0(this) non funziona.
    Il bello è che mentre facevo prove, le prime volte mi è riuscito...
    Dove sbaglio?

    grazie

    Max

  2. #2
    passa this.value alla funzione, non this.

    ciao

  3. #3
    Grazie del consiglio ma ho provato.
    Ho delimitato il codice per fare delle prove ma non funziona.

    codice:
    <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title></title>
      <meta name="description" content="">
      <meta name="keywords" content="">
    <SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT">
    <!--
    function checkme(numero) {
    alert(numero);
    if (numero==0){
         return false;
       } 
    }
    
    function check(evt) {
    var c = (evt.which) ? evt.which : event.keyCode;
     if ((c>=48 && c<=57)) {
      return true;
     }
     return false;
    }
    //-->
    </script>
    </head>
    <body>
    <form name="mioform" action="http://www.domain.com/" method="post">
    <input type="text" name="campoprova" size="40" maxlength="256" onKeyPress="return check(event) && checkme(this)">
    
    </form>
    </body>
    </html>

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Forse var c = (evt.which) ? evt.which : evt.keyCode;

  5. #5
    No, la funzione check(evt) va bene. Il problema sta nell'altra che non funziona. Infatti alert(numero); mi da [object] invece del numero digitato.

    Grazie

    Max

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma tu vuoi impedire che sia digitabile lo zero o evitare che nel campo ci sia solo uno zero?

    cmq devi valutare il value, quindi come ti diceva Var o passi this.value o nella funzione controlli numero.value

    poi il value di un campo testo di base è una stringa, quindi o la tratti come stringa (numero.value=='0') o come numero x es con
    if(parseInt(numero.value)==0)

    il controllo cmq non mi sembra corretto: onkeypress valuti quanto già scritto nel campo, in pratica impedisci di far seguire ad uno zero iniziale qualsiasi altra cifra ma può esserti inviato uno 0 come valore, cosa che sembrerebbe tu voglia evitare

  7. #7
    Grazie per l'aiuto.
    Ho risolto inserendo nella funzione numero.value

    Max

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.