我在表单中有两个提交按钮。一个删除帖子,一个删除帖子。
我想显示一个带有编辑表单的fancybox或一条说明用户删除了帖子的消息。这一切都取决于按下哪个按钮,在edit.php中使用“if(isset)” - 句子。但是我无法弄清楚如何在serializeArray中获取按钮的值。我尝试使用.click(函数()代替,但是没有向fancybox发送任何东西..
$("#form").bind("submit", function() {
$.ajax({
type : "POST",
cache : false,
url : "edit.php",
data : $(this).serializeArray(),
success: function(data) {
$.fancybox(data);
}
});
return false;
});
表格如下:
<form method='post' action='' id="form">
<input type='submit' value='Edit' name='edit' />
<input type='submit' value='Delete' name='delete' onClick="return slett('<?php echo $oppgave->name; ?>')"/>
<input name='oppgaveID' type='hidden' value='<?php echo $oppgave->id; ?>' />
</form>
如果有人能帮助我,我真的很感激!提前谢谢!
答案 0 :(得分:0)
来自serialize()
的jQuery文档:
仅将“成功控件”序列化为字符串。没有提交按钮值被序列化,因为表单未使用按钮提交。要使表单元素的值包含在序列化字符串中,该元素必须具有name属性。来自文件选择元素的数据未被序列化。
“成功控制”的规则在此定义:
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2
另请查看Nick Craver的this Stack Overflow solution。