如何使用PHP Ajax.Request onSubmit

时间:2009-06-18 23:53:58

标签: php ajax forms

我正在尝试使用表单通过post将原型ajax请求发送到php脚本,然后显示成功和失败的警报窗口

我目前正在使用此代码

<div id="reservationRequestForm">
   <form name="requestReservationForm" method="post" onsubmit="new Ajax.Request('admin/process/process_reservation_request.php', {onSuccess: function() {alert('Success');} , onFailure: function() {alert('Failure');}, method:'post'}; return false;">

....

   <input type="submit" class="buttonGreen" value="Send Request" onClick="hideDiv('reservationRequestForm');"/>
   </form>
</div>

我不希望处理响应(反正它是空的)。我只想知道它是成功还是失败。

另外。当js被禁用时,我希望表单优雅地降级。

现在这段代码什么也没做。我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果未处理onsubmit事件,则表示您的表单未提交。

您的表单中是否有以下其中一项?

<input type='submit' ... />

<input type='image' ... />

单击上面的两个元素(或使用空格/输入激活)将提交表单。你有的onsubmit事件处理程序应该捕获它,返回false应该停止默认操作(更改页面)。

此外,您的ajax.Request调用实际上似乎并未使用表单本身的任何表单信息。 Ajax.Request需要知道要发送什么信息。

修改 你在关闭括号。使用以下

<form name="requestReservationForm" method="post" onsubmit="new Ajax.Request('admin/process/process_reservation_request.php', {onSuccess: function() {alert('Success');} , onFailure: function() {alert('Failure');}, method:'post', parameters:Form.serialize(this) }); return false;">