我有以下(基本)表单结构设置:
<form id="userModalForm" method="post" action="#" class="acctForm">
<div class="container-form">
<div class="container-form" id="emailRow">
<label for="email">Email</label>
<input type="email" name="email" id="email" required data-err-msg="Email is required" />
</div>
<input type="hidden" name="id" id="userId" />
<input type="button" id="saveUser" value="Save User" /><input class="cancel" type="button" value="Cancel" />
</div>
</form>
单击saveUser
按钮时,它会对后端API执行jQuery AJAX POST以保存表单。我遇到的奇怪的事情是如果我在控制台中$("#userModalForm").serialize()
,它将不会在此表单上接收电子邮件输入。当我将type
从email
更改为text
时,序列化会看到该字段,一切都按预期工作。
有关为什么jQuery的序列化没有看到带有某种类型的电子邮件的输入的猜测?我试过搜索,但我找不到任何东西。如果输入没有使用text
类型进行序列化,那么它就是一回事,但事实是只有当类型为email
时它才会真正令人困惑。
如果有帮助的话,我们在jQuery 3.2.1上 - 谢谢!