我正在尝试使用表单通过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被禁用时,我希望表单优雅地降级。
现在这段代码什么也没做。我做错了什么?
答案 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;">