JQUERY 验证 - 序列化选择和复选框
JQUERY Validate - serialise select and checkbox
我正在使用验证插件来发送一些ajax
。我遇到了无法序列化select option
和checkbox
的问题。
我的最终结果是有一个看起来像dashName=aaa&dashSurname=bbb&dashArea=Blue...
的字符串
使用下面的代码,我可以获取input text
值;如何验证并从其他元素获取值?
这里的小提琴
$('#updateMemberForm').validate();
$(document).on('click', '#saveMemberBtn', function() {
if ($('#updateMemberForm').valid()) {
var serialize = $("#updateMemberForm").serialize();
$("#test").text(serialize);
console.log(serialize);
}
return false;
});
.HTML:
<form method="post" id="updateMemberForm">
<input class="" type="text" name="dashName" placeholder="Name" />
<input class="" type="text" name="dashSurname" placeholder="Surname" />
<br>
<select onchange="" name="dashArea">
<option value="" selected disabled>AREA</option>
<option value="Red">RED</option>
<option value="Blue">BLUE</option>
<option value="Green">GREEN</option>
</select>
<br>
<input class="" type="text" name="dashAddress" placeholder="Address" />
<input type="checkbox" id="checkbox1" name="dash_enable">
<br>
<input type="submit" class="" id="saveMemberBtn" value="SAVE" />
</form>
由于您的SAVE
按钮是type="submit"
,因此您不需要click
处理程序来捕获它并测试有效性。 插件内置submithandler
已经在为您执行此操作。
$('#updateMemberForm').validate({
submitHandler: function(form) { // only fires when valid
var serialize = $("#updateMemberForm").serialize();
$("#test").text(serialize);
console.log(serialize);
// AJAX goes here
return false;
}
});
演示:https://jsfiddle.net/rsfonzL7/
如注释中所述,如果未选中复选框,则查询字符串中不会发送任何内容,这是在服务器端处理的。 这与jQuery Validify或.serialize()
无关...这就是表单数据的构造和发送方式,无论使用何种方法。
相关文章:
- 通过复选框选择形成填充
- jQuery根据相关复选框选择求和单元格
- 根据用户复选框选择显示或隐藏下拉框
- 复选框选择组合
- 如何根据角度中的复选框选择过滤结果
- 根据复选框选择 jQuery 更新文本框
- jquery选择复选框选择的值
- 复选框选择/取消选择触发器第一次工作,但在随后的尝试中失败
- 如何发布单选和复选框选择?表单由php和js处理
- 使用querySelectorAll进行的复选框选择不起作用
- 具有延迟的多个复选框选择以检查其他复选框更改
- 显示 jQuery 复选框选择
- 复选框选择似乎彼此不一致
- 一个变量,多个复选框选择/取消选择 jQuery
- 使用 Json 数据源在数据表中实现复选框选择
- 使用 Javascript 更新复选框选择时的输入字段
- 将复选框选择保留在多页分页中
- 在复选框选择后验证输入类型文本
- 如何根据 Javascript 中的复选框选择打开引导模式窗口
- 如何检测和获取 asp.net 中的复选框/选择框(html 标记)值