7
votes

Masquer / afficher div après la forme de formulaire?

Bonjour, j'ai du mal à faire fonctionner cela, assez simple, tout ce que je veux faire est de montrer une div une fois que mon formulaire HTML est soumis.

<head>

<script type="text/javascript">
 function showHide() {
   var div = document.getElementById(hidden_div);
   if (div.style.display == 'none') {
     div.style.display = '';
   }
   else {
     div.style.display = 'none';
   }
 }
</script>

</head>


<body>

<form method="post" name="installer">

<label>Home Keyword</label>
<br />
<input type="text" name="hello" value="">
<br />
<input type="submit" value="" name="submit" onsubmit="showHide()">

</form>

<div id="hidden_div" style="display:none">
<p>Show me when form is submitted :) </p>
</div>

</body>


1 commentaires

Déplacez l'attribut Onsubmit sur le formulaire. En outre, n'utilisez pas "Soumettre" comme nom de contrôle de formulaire en tant que Shaddews, la méthode de soumission du formulaire. Dans ce qui précède, Form.Submit fera référence au contrôle, pas à la méthode, alors l'appelant à lancer une erreur.


3 Réponses :


17
votes

Je pense que vous êtes juste des citations manquantes autour de "Hidden_Div" dans votre document.getelementByID ("caché_div") appel!

Mais en réalité, votre page pose probablement l'état, réinitialisant l'état de la page et laissant ainsi caché_div apparemment toujours dans un état caché - avez-vous l'intention de manipuler la soumission de formulaire via AJAX?

Si vous souhaitez voir le comportement prévu, vous devez déplacer le showhide () appelez à l'élément et renvoyer false après cela: xxx

et laissez le bouton d'envoi comme suit: < / p> xxx

Notez également que vous n'avez pas auto-fermé l'étiquette BOUTON ou donné un texte à afficher à l'intérieur.


3 commentaires

Merci Cory Oui, ça semble faire l'astuce et Haha oui, j'ai les citations dans mon code d'origine, mais ils ont été perdus dans la traduction, je pense que mon café a besoin de recharger: P


Il n'est pas nécessaire de "fermer" la balise d'entrée, l'OP n'a pas indiqué que XHTML est utilisé et il est extrêmement rare de l'utiliser sur le Web.


@ROBG: Je ne l'ai déduit que du fait qu'elle le faisait avec les balises
, mais vous pourriez avoir raison.



2
votes

Vous devez mettre showhide fonction de formulaire Onsubmit au lieu de entrée xxx

Vous êtes aussi citations manquantes comme @Cory mentionné


0 commentaires

0
votes

J'espère que cet exemple fonctionne pour vous, j'ai utilisé deux manières différentes Premier pour masquer la forme et la seconde pour montrer div

p>

<form action="" class="m-md-5 px-md-5" method="post" name="myFirstForm">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" value="John"><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" value="Doe"><br><br>
  <button type="submit" class="btn btn-primary w-100 mt-5" onclick="myFunction()">Submit</button>
</form>
<div id="myDIV" class="2" style="display:none">
  <h1>ThankYou</h1>
  <h6>We will get back to you shortly on the same.</h6>
</div>


1 commentaires

La question est de nombreuses années, il n'est donc probablement pas utile de soumettre une réponse à cette date tardive!