2014-05-13 5 views
0

J'ai un formulaire xhtml avec des zones de texte et ainsi de suite. J'ai une boîte pour code postal où il est dit, la valeur par défaut 119900.Conserver une valeur qui a été modifiée à partir de la valeur par défaut dans php

<td><label for="postcode"> Post Code (default "119900"): </label></td> 
<td><input type="text" value= "119900" id="postcode" name="postcode" size=6 maxlength=6/> 

Comme le montre le code ci-dessus, ce qui se fait en mettant la valeur en 119900. Ce que je veux faire est, de conserver l'entrée dans la boîte si quelqu'un le change et soumet le formulaire. Donc, si je le change de 119900 à 110055 et cliquez sur soumettre, 110055 devrait rester dans la boîte au lieu de 110099. Y at-il de toute façon je peux le faire? j'ai essayé

<td><label for="postcode"> Post Code (default "119900"): </label></td> 
<td><input type="text" value= "119900" 
value="<?php echo (isset($_POST["postcode"]) ? $_POST["postcode"] : ''); ?>" 
id="postcode" name="postcode" size=6 maxlength=6/> 

ne semble pas fonctionner.

+0

Qu'en est-il des placeholders ??

Répondre

3

Vous êtes alors fermer. Au lieu d'une valeur par défaut vide dans votre déclaration ternaire, il suffit de mettre votre valeur par défaut (et le fossé votre répétition invalide de l'attribut value) .:

<input type="text" 
value="<?php echo (isset($_POST["postcode"]) ? $_POST["postcode"] : '119900'); ?>" 
id="postcode" name="postcode" size=6 maxlength=6/> 

Vous pouvez également raccourcir ce un peu:

<input type="text" value="<?= ($_POST["postcode"]) ?: '119900'); ?>" 
id="postcode" name="postcode" size=6 maxlength=6/> 

(Pour toute personne se plaignant de l'utilisation de la balise courte, la version minimale supportée de PHP est 5.4 et donc activée par défaut, donc à moins de viser d'anciennes versions de PHP et/ou de distribuer le code).

+0

wow, c'était simple. la réponse est toujours devant vous. Merci beaucoup. – roro

1

Vous utilisez deux champs valeur, c'est pourquoi cela ne fonctionne pas. Essayez celui-ci:

<input type="text" value="<?= (isset($_POST["postcode"]) ? $_POST["postcode"] : '') ?>" 
id="postcode" name="postcode" size=6 maxlength=6/> 
Questions connexes