Não passa invisível conteúdo, após envio de formulário (serializar) [duplicado]

0

Pergunta

Eu tenho um formulário com várias divs que não são visíveis (Alternar jQuery) devido a interação do usuário. Depois de enviar o formulário, eu gostaria de guardar apenas o visível (preenchido pelo usuário) elementos. Não pode fazê-lo funcionar. Obrigado antecipadamente!

<!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

Melhor resposta

2

Um pouco tweak para o código torna isso possível:

$('#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

E o que se gostaria de postar o campo oculto?
user1725719

Talvez eu tenha entendido mal a pergunta. Eu pensei que você só queria postar campos visíveis. Ou você quis dizer apenas postar os campos com valores (ou oculto, não-escondido)?
Kinglish

Não, você não fez mal. É uma questão adicional. Como posso postar campos visíveis, mas não coloque os campos ocultos.
user1725719

A maneira como você tinha inicialmente lançados todos os campos do formulário, visível ou não visível. #form :visible só encontra o formulário de elementos que são visíveis. Você também pode fazer algo como #form :not(:empty) se você queria apenas postar os dados de entradas que tinham valores neles (ignorando vazio entradas)...
Kinglish

Em outros idiomas

Esta página está em outros idiomas

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