这是我的 HTML 输出代码:
<tr class="uedit103" style="display: none;"><form id="editform103" name="editform103">
<td class="base" id="uedit103"><input type="text" class="editua" name="lname" id="lname" value="inte"></td>
<td class="base" id="uedit103"><input type="text" value="info" class="editua" name="fname" id="fname" ></td>
<td class="base" id="uedit103"><input type="text" value="email@email.com" class="edituaxl" name="emailadres" id="emailadres" ></td>
<td class="yellow
"><select name="ma_accesslevel"><option value="0" >Basic</option><option value="1" SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
<td class="yellow
"><select name="m_accesslevel"><option value="0" >Basic</option><option value="1" SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
<td class="yellow
"><select name="hcc_accesslevel"><option value="0" >Basic</option><option value="1" SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
<td class="base" id="uedit103"><input type="hidden" class="editua" name="uid" id="uid" value="103"></td>
<td class="base" id="uedit103"><input type="button" id="editsubmit103" class="editbutton" Value="Save"><input type="button" id="editcancel103" class="editbutton" Value="Cancel"></td>
</form></tr>
jQuery 部分是这样的(为调试添加了警报):
$('#editsubmit$ses->user_id').click(function(){
$.post('ajax/aj_edituser.php', $("form#editform$ses->user_id").serialize(), function(result) {
alert($("form#editform$ses->user_id").serialize());
$('#success$ses->user_id').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow');
$('div.mainadmin').html(result);
});
});
适用于所有浏览器,FF 除外,它在第二次提交表单时失败(表单在打开的页面中重新加载)。在验证 HTML 或查看 FF 中的源代码时,表单标签
<form id="editform103" name="editform103">
显示为红色并收到消息“表格中显示的开始标记表单”。结束表单标记也被置为红色,并收到消息“Stray end tag form”。通过http://validator.w3.org/验证代码也会给我这些错误 +“在此上下文中不允许元素形式作为元素 tr 的子元素。(抑制来自该子树的进一步错误。)”在编辑表单上。所以我也尝试将表格放在标签周围,但没有帮助。
我再也看不到这个了,谁能帮忙?