Ne passez pas invisible contenu d'un formulaire de soumission (serialize) [dupliquer]

0

La question

J'ai un formulaire avec plusieurs divs qui ne sont pas visibles (Bascule jQuery) en raison de l'interaction de l'utilisateur. Après la soumission du formulaire, je voudrais enregistrer uniquement la partie visible (rempli par l'utilisateur) des éléments. Pouvez pas le faire fonctionner. Merci à l'avance!

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $('#content').text($('#myform').serialize());
    });
});
</script>
</head>
<body>

<form action="" id="myform">
  First name: <input type="text" name="FirstName" value="Mickey"><br>
  Last name: <input type="text" name="LastName" value="Mouse"><br>
  <div style="display:none;"><input type="text" name="isthishidden" value="maybe"></div>
 <input type="hidden" name="action" value="verwerk">
</form>
<button>Serialize form values</button>
<p></p>
<div id="content"></div>

</body>
</html>
forms html javascript jquery
2021-11-23 20:08:53
1

La meilleure réponse

2

Une petite astuce pour que votre code rend cela possible:

$('#content').text($('#myform :visible').serialize());

$(document).ready(function(){
  $("button").click(function(){
    $('#content').text($('#myform :visible').serialize());
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<form action="" id="myform">
  First name: <input type="text" name="FirstName" value="Mickey"><br>
  Last name: <input type="text" name="LastName" value="Mouse"><br>
  <div style="display:none;"><input type="text" name="isthishidden" value="maybe"></div>
 <input type="hidden" name="action" value="verwerk">
</form>
<button>Serialize form values</button>
<p></p>
<div id="content"></div>

2021-11-23 20:20:39

Et si je voudrais afficher le champ caché?
user1725719

Peut-être que j'ai mal compris votre question. Je pensais que tu ne voulais poster visible champs. Ou avez-vous dire seulement poster des champs avec des valeurs (cachés ou non-caché)?
Kinglish

Non, vous n'avez pas mal compris. C'est une question de plus. Comment puis-je publier visible champs, mais ne post les champs masqués.
user1725719

La façon dont vous l'avais initialement posté tous les champs dans le formulaire, visible ou non visible. #form :visible ne trouve que des éléments de formulaire qui sont visibles. Vous pouvez aussi faire quelque chose comme #form :not(:empty) si vous voulais juste publier des données d'entrées qui avaient des valeurs (en ignorant vide entrées)...
Kinglish

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................