Garder la valeur d'entrée après le formulaire de soumission (avec une prise)
En PHP, si la saisie de texte "cmtx_comment" est vide, sur le formulaire de soumission je afficher une alerte javascript. Après j'appuie sur OK dans l'alerte, les valeurs entrées par l'utilisateur dans tous les champs du formulaire sont partis. Comment puis-je garder l'utilisateur a entré des valeurs, sans ajouter de code à la valeur de l'entrée des éléments (quelque chose comme <input type="text" name="something" value="<?php echo $_GET['something'];?>">
?
if (empty($cmtx_comment)) { //if comment value is empty
echo <<<EOD
<script>
alert('Please enter a comment!');
</script>
EOD;
return false;
} else { //if comment entered
do stuff
- vous pouvez les valider dans le côté client, au lieu de remettre tout de suite: w3schools.com/tags/tryit.asp?filename=tryhtml5_input_required
- w3schools n'est pas une très bonne référence. MDN est mieux
- Que demandez-vous? Si le champ est vide, vous afficher un message d'alerte, après OK le champ est vide?! Est-il un problème?
- et pourquoi voulez-vous garder cette valeur, si son vide de toute façon? qui n'a pas de sens. vous souhaitez conserver une valeur vide? ou êtes-vous référant à ces autres champs sont remplis?
- le problème est que tous les champs dans le formulaire, pas seulement cmtx_comment sont effacées. Même ceux dans lesquels l'utilisateur a entré une valeur... Vous êtes en droit, a demandé à mal..
- essayez de les valider à l'aide d'ajax.. ou suivez @Dave Chen façon
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé localStorage et de validation de formulaire?
HTML:
JavaScript:
Exemple
Sur la première page de chargement, vous êtes présenté avec:
Si vous ne saisissez pas un commentaire, vous obtenez le message d'alerte:
Si vous ne de saisir un commentaire, vous obtenez un autre message d'alerte:
La page puis sur actualiser (ou post, il suffit de dé-commentez le retour du vrai, et le commentaire de l'emplacement.recharger), et vous pourrez toujours voir le contenu que vous avez posté la première fois.
<input type="text" name="something" value="<?php echo $_GET['something'];?>">
est ce que l'OP veut, mais pas de la même chose. Il va vouloir préciser s'il souhaite que le commentaire pour être sauvé, alors qu'il est en train de vous (pas de cliquez sur enregistrer), ou cliquez sur enregistrer -- et s'il veut ou non le commentaire à persistants sur la soumission ou non.