Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    136

    salvare i valori dei campi

    Come si fa a salvare i valori di un campo in un form con validazione senza riscriverli ogni volta dopo un submit?

  2. #2
    ehr, devi usare il linguaggio lato server, non javascript, facendo in modo che, quando sottometti la form, il server si salvi i dati da qualche parte (un DB sarebbe buona cosa) e ritorni un id o quel che vuoi per far popolare i campi della form all'apertura della pagina.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    136
    però se prima di salvare i dati sul db, non ho inserito qualche valore nei campi del form, invece di riscrivere di nuovo tutti i campi, come faccio a salvare i valori già inseriti precedentemente?

    non so se mi sono spiegato

    ciao

  4. #4
    no, spiega meglio
    I DON'T Double Click!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    136
    Quando avviena la validazione di un form può capitare che ho dimenticato di inserire alcuni valori oppure alcuni di questi sono sbagliati. Quando faccio il submit, vorrei che i valori già inseriti fossero memorizzati nei campi del form, senza dover reinserire tutto d'accapo.

    ciao

  6. #6
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152
    Ho capito casa vuoi dire, che se l' Utente fa un submit che non viene convalidato (validazione lato server), si ritrova con tutti i campi resettati; e te invece vorresti si ritrovasse quello cha ha scritto per il momento.

    Io faccio così, attribuisco ad ogni VALUE dei campi una variabile php che posso lasciare vuota "" (stringa di testo con nessun carattere), faccio in modo che php mi stampi questa variabile nell' esecuzione dell' HTML, supponiamo che la var si chiama var $campo;

    value="<?php echo $campo; ?>"

    Queste variabili le piazzo in alto, più sopra di un if(isset()) statement che dopo, se è stato eseguito il submit, me ne cambia il valore in quello che recupera dal campo di testo:

    Codice PHP:
    <html>
    <head>
    <title>temporary saving text </title>
    </head>
    <body text="#FFFF90" bgcolor="#000090">
    <h1>Straystudio</h1>

    <?php

    $campo 
    "";

      if(isset(
    $_POST['invio'])){
        
    $campo=$_POST['campo'];
      };
    ?>
    <div align="center">
     <form method="post" action="<?php echo $PHP_SELF?>">
      <input value="<?php echo $campo?>" type="text" name="campo">
      <input type="submit" name="invio">
     </form>
    </div>

    </body>
    </html>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    136
    grazie1000

  8. #8
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152
    Originariamente inviato da vehuel
    però se ..., non ho inserito qualche valore nei campi del form, ..
    Si può fare anche un controllo in solo JavaScript (validazione lato client) e questo, non fa perdere i dati sinora scritti, per il semplice fatto che non ricarica la pagina; quindi è anche molto veloce nell' esecuzione e risparmia invii di richieste al server.
    Il submit allora avverrà tramite funzione JS .submit() e il pulsante di submit diventa un comune button che richiama la function.
    Ho un esempio che avevo già elaborato, più vasto, in un Forum USA e qui te ne posto un sunto; si controlla se l' Utente avesse tralasciato un campo, e c'è anche una diversa colorazione per quel campo:
    codice:
    <html>
    <head>
    <title>JS fields check-up</title>
    
    <script type="text/javascript">
    
     var warnCol = "#ffff00"; //warning color
    
     function DataCheck(){
        var lack=false
        var el = document.forms['scheda']
       
        el.Name.style.backgroundColor   = "#ffffff";
        el.Address.style.backgroundColor= "#ffffff";
        el.Email.style.backgroundColor  = "#ffffff";
     if (el.Name.value==""   ){el.Name.style.backgroundColor   =warnCol; lack=true};
     if (el.Address.value==""){el.Address.style.backgroundColor=warnCol; lack=true};
     if (el.Email.value==""  ){el.Email.style.backgroundColor  =warnCol; lack=true}; 
     
     if (lack==true){
         alert("Please fill out all informations");}
         else {
         el.submit();
         };
     }
     
    </script> 
    
    </head>
    <body bgcolor="#d0d0d0">
    
    <h1>JS Validation</h1> 
    
    <form action="<?php echo $PHP_SELF; ?>" method="post" name="scheda">
    
       
    
    Name
    
        <input type="text" name="Name" size="50" />
     </p>
       
    
    Address
    
        <input type="text" name="Address" size="50" /></p>
       
    
    Email Address
    
        <input type="text" name="Email" size="50" />
     </p> 
    
       
    
    <input type="button" value="subscribe" onClick="DataCheck()" /></p>
    </form>
    
    
    </body>
    </html>

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.