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

    Controlli in Javascript

    Ciao a tutti,

    mi chiamo Danny e sono nuovo del forum. Vi scrivo per chiedervi aiuto e premetto di aver già cercato sul web e su questo forum informazioni per poter risolvere il mio problema ma senza alcun risultato. Nel caso fosse già disponibile una soluzione e non me ne fossi accorto vi chiedo scusa ma veniamo al mio problema.

    Spero di essere chiaro. Ho realizzato una pagina in php per la registrazione degli utenti e sui vari campi del form ho messo dei controlli javascript. Ad esempio nel campo "cellulare" non è permesso digitare alcuna lettera ma solo numeri. Vi metto uno stralcio della pagina:


    Codice PHP:
        
        
    <SCRIPT TYPE="text/javascript">
    <!--
    function 
    getkey(e)
    {
    if (
    window.event)
       return 
    window.event.keyCode;
    else if (
    e)
       return 
    e.which;
    else
       return 
    null;
    }
    //-->
    </SCRIPT>

    <SCRIPT TYPE="text/javascript">
    <!--
    function caratteriok(e, goods)
    {
    var key, keychar;
    key = getkey(e);
    if (key == null) return true;

    // get character
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    goods = goods.toLowerCase();

    // check goodkeys
    if (goods.indexOf(keychar) != -1)
        return true;

    // control keys
    if ( key==null || key==0 || key==8 || key==9 
        || key==13 || key==27 )
       return true;

    // else return false
    return false;
    }
    //-->
    </SCRIPT>
           


    <div class="resize_bg">
        

              <h2>2- Inseriamo Anagrafica</h2></span>
                
         
              
              
              <form action="conferma_anagrafica.php" method="post" id="contactform" onSubmit="return controllaPassword(this);">
                [list=1]
                    

                [*]
                    <label for="cellulare">Cellulare</label>
                    <input id="cellulare" onKeyPress="return caratteriok(event,
                          '0123456789')" name="cellulare" class="text" MAXLENGTH="10" style="width:200px"/>
                  
                  
     

                  <li class="buttons">
                    <input type="submit" name="imageField" id="imageField"  value="SALVA I DATI" class="send" />
                    <div class="clr"></div>
                  
                  [/list]
              </form> 
    Il problema nasce nel momento in cui voglio modificare i dati, come faccio a replicare questi controlli anche sulla pagina di modifica. Ho provato in vari modi ma il controllo che mi permette di digitare solo numeri non va. Come potrete capire di Javascritp so poco o nulla. Spero mi possiate aiutare.

    Codice PHP:

        <SCRIPT TYPE="text/javascript">
    <!--
    function getkey(e)
    {
    if (window.event)
       return window.event.keyCode;
    else if (e)
       return e.which;
    else
       return null;
    }
    //-->
    </SCRIPT>

    <SCRIPT TYPE="text/javascript">
    <!--
    function caratteriok(e, goods)
    {
    var key, keychar;
    key = getkey(e);
    if (key == null) return true;

    // get character
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    goods = goods.toLowerCase();

    // check goodkeys
    if (goods.indexOf(keychar) != -1)
        return true;

    // control keys
    if ( key==null || key==0 || key==8 || key==9 
        || key==13 || key==27 )
       return true;

    // else return false
    return false;
    }
    //-->
    </SCRIPT>

      <div class="body">
              <?php

    $conn 
    mysql_connect($SQL_HOST$SQL_USER$SQL_PWD) or die('Impossibile connettersi: ' mysql_error());

            
    mysql_select_db($SQL_DB$conn);

    $sql "SELECT * FROM anagrafica WHERE id='$_GET[id]'";
    $res mysql_query($sql$conn);
    $row mysql_fetch_array($res);


    $_SESSION["id_da_modificare"]=$_GET[id];

    ?>
     

              <h2>Modifica Anagrafica </h2></span>
       <?php echo '         
             <form action="conferma_modifica_anagrafica.php" method="post" id="contactform" onSubmit="return controllaPassword(this);">
                [list=1]
                    
    [*]
                    <label for="cellulare">Cellulare</label>
                    <input id="cellulare" name="cellulare" value="'
    .$row['cellulare'].'"  class="text" style="width:200px"/>
                  
                  


                  <li class="buttons">
                    <input type="submit" name="imageField" id="imageField"  value="SALVA I DATI" class="send" />
                    <div class="clr"></div>
                  
                  [/list]
              </form> '
    ?>
    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Ti posto la porzione di codice da modificare nella pagina di modifica.
    codice:
    [*] 
     <label for="cellulare">Cellulare</label> 
     <input id="cellulare" name="cellulare" value="'.$row['cellulare'].'"  class="text" style="width:200px" onKeyPress="return caratteriok(event, '0123456789')" />

  3. #3
    Originariamente inviato da Vindav
    Ti posto la porzione di codice da modificare nella pagina di modifica.
    codice:
    [*] 
     <label for="cellulare">Cellulare</label> 
     <input id="cellulare" name="cellulare" value="'.$row['cellulare'].'"  class="text" style="width:200px" onKeyPress="return caratteriok(event, '0123456789')" />
    Grazie mille per la risposta ma avevo già provato questa soluzione ma senza alcun esito. Nel senso che io stampo il form e quindi gli apici di '0123456789' vengono interpretati dal php e mi causano un errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Prova cosi allora:

    onKeyPress="return caratteriok(event, \'0123456789\')"

  5. #5
    Originariamente inviato da Vindav
    Prova cosi allora:

    onKeyPress="return caratteriok(event, \'0123456789\')"
    Così è perfetto, nel senso che la pagina viene caricata in maniera corretta ma il controllo non funziona e mi fa digitare anche le lettere.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    mmm strano cosi dovrebbe funzionare, probabilmente hai qualche altro errore nella pagina... se usi firefox o chrome puoi vedere se ci sono errori andando nella console javascript, prova a darci un occhiata... se hai anche un link dove si puo vedere la pagina in funzione sarebbe ancora meglio.

  7. #7
    Grazie a tutti, sono riuscito a risolvere.
    Il pezzo di codice che mi ha suggerito funziona, sono io che avevo fatto un errore importando due volte una parte di codice che causava l'errore.

    Grazie mille.

  8. #8
    Originariamente inviato da Vindav
    mmm strano cosi dovrebbe funzionare, probabilmente hai qualche altro errore nella pagina... se usi firefox o chrome puoi vedere se ci sono errori andando nella console javascript, prova a darci un occhiata... se hai anche un link dove si puo vedere la pagina in funzione sarebbe ancora meglio.
    Infatti, avevi ragione. Ho ricontrollato la pagina e l'errore stava nel fatto che avevo richiamato due volte:

    <SCRIPT TYPE="text/javascript">

    chiudendo il secondo script ma lasciando aperto il primo.

    Grazie ancora, sei stato gentilissimo.

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.