我正在尝试将表单序列化为div,但它不起作用,我不知道为什么。
我有这个:
<div id="dialog-form">
<form>
<LABEL for="firstname">First name: </LABEL>
<INPUT type="text" id="firstname"><BR>
<LABEL for="lastname">Last name: </LABEL>
<INPUT type="text" id="lastname"><BR>
<LABEL for="email">email: </LABEL>
<INPUT type="text" id="email"><BR>
<INPUT type="radio" name="sex" value="Male"> Male<BR>
<INPUT type="radio" name="sex" value="Female"> Female<BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</form>
</div>
我试试这个:
jQuery("#dialog-form").find("form").serialize()
但它返回一个空字符串,即使文本字段包含数据。谁能告诉我为什么?
答案 0 :(得分:3)
您的name
元素没有<input>
个属性。序列化(实际上,常规HTTP表单提交)要求您的输入元素被命名,因为serialize
的整个目的是将您的元素转换为name=value
对。
将name="..."
个属性添加到<input>
代码:
<input type="text" name="firstname" id="firstname"><br>
如果没有选中,则序列化字符串中也会省略您的单选按钮。