Nu trece invizibil conținut, după formă prezinte (serios) [duplicat]

0

Problema

Am un formular cu mai multe diviziuni care nu sunt vizibile (Comutare jQuery) pentru interacțiunea cu utilizatorul. După trimiterea formularului aș dori să salvați numai vizibile (se completează de către utilizator) elemente. Nu pot face să funcționeze. Multumesc anticipat!

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

Cel mai bun răspuns

2

O mică modificare la codul tău face acest lucru posibil:

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

Și ce dacă mi-ar place pentru a posta câmp ascuns?
user1725719

Poate nu am înțeles întrebarea dumneavoastră. Am crezut că ai vrut doar pentru a posta câmpuri vizibile. Sau ai vrut sa spui posta doar câmpurile cu valori (ascunse sau nu-ascuns)?
Kinglish

Nu, nu ai înțeles greșit. Este o întrebare suplimentară. Cum pot posta câmpuri vizibile, dar nu posta câmpuri ascunse.
user1725719

Felul în care ai avut-o inițial postat toate câmpurile din formular, vizibile sau non-vizibile. #form :visible găsește numai elemente de formă care sunt vizibile. De asemenea, ai putea face ceva de genul #form :not(:empty) daca ai vrut sa postezi doar datele de intrare care au avut valori în ele (ignorând gol intrări)...
Kinglish

În alte limbi

Această pagină este în alte limbi

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