javascript - form.serialize() 用于输入字段和文本区域
问题描述
我有一个包含不同输入字段和一个文本区域的多步骤表单。我想使用 form.serialize() 序列化这些。但不幸的是,我不能同时序列化输入字段和文本区域。这是更好理解的代码。我需要逐步序列化它。
form = $('form .part-2 input'); // textarea is missing
formData = form.serialize();
$('#output').text(formData);
// form = $('form .part-2'); // input field(s) and textarea are missing
// formData = form.serialize();
// $('#output').text(formData);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="index.html" method="post">
<div class="part-1">
<input type="text" name="name1" placeholder="Name1">
<input type="text" name="name2" placeholder="Name1">
</div>
<div class="part-2">
<input type="text" name="name3" placeholder="Name1">
<div class="textarea">
<textarea name="name4" maxlength="50"></textarea>
</div>
</div>
</form>
<span id="output"></span>
解决方案
您可以改用:input
可以同时针对两者的:
form = $('form .part-2 :input'); // textarea is missing
//--------------------^^^^^^-------this is required
formData = form.serialize();
$('#output').text(formData);
// form = $('form .part-2'); // input field(s) and textarea are missing
// formData = form.serialize();
// $('#output').text(formData);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="index.html" method="post">
<div class="part-1">
<input type="text" name="name1" placeholder="Name1">
<input type="text" name="name2" placeholder="Name1">
</div>
<div class="part-2">
<input type="text" name="name3" placeholder="Name1">
<div class="textarea">
<textarea name="name4" maxlength="50"></textarea>
</div>
</div>
</form>
<span id="output"></span>
推荐阅读
- r - rJava导入在气流中不起作用
- javascript - React - 第二次点击后调用另一个函数
- ios - 在使用 Objective-C 制作的 App 中使用 Swift 代码
- python - 从货币符号中提取数字并格式化
- oracle - 在 Oracle 中扩展父子层次结构记录以显示父记录的根记录
- heroku - 将 Heroku Postgres 从标准降级为爱好
- angular - 角度 6:错误 TS2315:类型“ModuleWithProviders”不是通用的
- android - 无法打开 HAXM 设备:ERROR_FILE_NOT_FOUND
- coq - 以 Prop inhabitant 作为参数的定点
- python - 如何管理熊猫数据框中的特殊字符 \r