2012-02-23 2 views
2

J'ai une zone de texte qui récupère une valeur de ma base de données et est une zone de texte en lecture seule. il contient des informations que je veux envoyer à ma base de données mais rien n'est enregistré. Une fois que la zone de texte n'est pas en lecture seule, les données sont stockées avec succès. Est-il possible de garder ma zone de texte désactivée et d'envoyer les données à ma base de données?La zone de texte désactivée n'envoie pas de valeur à la base de données

<form action="refnoadded.php?public=<?php echo $id; ?>" method="post">   
    <span id="sprytextfield1"> 
     <input type="text" name="ref" value="<?php echo $newpass ?>" disabled />  
     <input type="button" onClick="history.go(0)" value = "Generate Reference"> 
     <br /> 
     <span class="textfieldRequiredMsg">Reference Number Required</span> 
    </span>   
    <br /> 
    <input type="submit" value="Add Reference" /> 
</form> 

des idées?

+0

la question est: pourquoi? Si c'est désactivé, alors vous n'avez pas besoin de l'envoyer, sûrement? – Flukey

+0

je ne veux pas que l'utilisateur édite les données parce que j'ai un bouton à côté de lui qui génère aléatoirement quelques chiffres et lettres –

+0

Ah je vois. vous utilisez javascript pour générer les quelques chiffres? les nouveaux numéros sont affichés dans la zone de texte? – Flukey

Répondre

15

désactivé ne pas envoyer les données au serveur

utilisation

<input readonly value="my value" name="myname"> 

HTH!

+1

merci beaucoup! –

+5

@OP - Sachez que l'utilisateur peut toujours modifier les données dans cette zone de texte. Ne faites pas confiance à l'entrée de l'utilisateur. – Flukey

7

ont les données dans une seconde entrée cachée:

<input type="hidden" name="ref_hidden" value="<?php echo $newpass ?>" /> 

l'utilisateur ne verra pas la différence et vous obtiendrez votre valeur lors de la soumission envoyer le formulaire.

1

Les champs de texte désactivés ne soumettent pas leurs informations à $ _POST ou $ _GET. Vous pouvez simplement utiliser l'élément de formulaire

<input type="hidden" name="rev_hidden" value="<?php print $password; ?>" /> 

Ceci est la manière standard (correcte) de transmettre des informations cachées dans le formulaire.

Une autre utilisation de cet élément est si vous voulez passer une variable "formsubmitted".

Cependant, si vous souhaitez créer une valeur et la rendre inutilisable par l'utilisateur, le fait du côté serveur. Créez la valeur lorsque vous créez la base de données, car les utilisateurs peuvent simplement envoyer d'autres données à la place de ce que vous avez généré.

Questions connexes