jqueryajax表单仍随页面刷新一起提交
我有一段非常简单的jqueryajax代码,它应该在不刷新页面的情况下提交表单,但是由于某些原因,它被忽略了,表单被正常提交 jQuery代码:jqueryajax表单仍随页面刷新一起提交,jquery,ajax,forms,refresh,Jquery,Ajax,Forms,Refresh,我有一段非常简单的jqueryajax代码,它应该在不刷新页面的情况下提交表单,但是由于某些原因,它被忽略了,表单被正常提交 jQuery代码: $(".createEvent").live('click', function() { $(".eventResult").html($("<img/>").attr("src", "<?php echo __FULL_PATH; ?>images/loader.gif").attr("id
$(".createEvent").live('click', function() {
$(".eventResult").html($("<img/>").attr("src", "<?php echo __FULL_PATH; ?>images/loader.gif").attr("id", "loader"));
$('.eventResult').show();
var form = $(this).parents('form:first');
var eventName = $("input[name='eventName']",form).val();
var eventID = $("input[name='eventName']",form).id();
var dataString = 'eventName ='+ eventName;
$.ajax({
type: "POST",
url: "{site.createPageURL}"+eventID+"/event/",
data: dataString,
cache: false,
success: function(html) {
alert('done');
$('.eventResult').html(html);
$('.eventForm').hide();
updateBookingList(eventID);
}
});
return false;
});
$(“.createEvent”).live('click',function(){
$(“.eventResult”).html($($images/loader.gif”).attr(“id”,“loader”);
$('.eventResult').show();
var form=$(this.parents('form:first');
var eventName=$(“输入[name='eventName'],form).val();
var eventID=$(“输入[name='eventName']”,form).id();
var dataString='eventName='+eventName;
$.ajax({
类型:“POST”,
url:“{site.createPageURL}”+eventID+“/event/”,
数据:dataString,
cache:false,
成功:函数(html){
警报(“完成”);
$('.eventResult').html(html);
$('.eventForm').hide();
updateBookingList(eventID);
}
});
返回false;
});
及表格:
<form id="eventForm_1318915800" method="POST" action="path_here..." name="eventForm">
<label for="eventName">Please enter a name for the event</label>
<input id="1318915800" type="text" name="eventName">
<label for="submit"> </label>
<input class="createEvent" type="submit" value="Create event" name="submit">
</form>
<div id="eventResult_1318915800" class="eventResult"> </div>
请输入事件的名称
< /代码> 这是一个指示在中间的JS错误,它绕过了<代码>返回false < P>这是中间的JS错误的指示,它绕过了<代码>返回false < p>您需要添加<代码>事件.EvrimeDebug()。代码>在调用ajax之前。您的函数应修改如下:
$(".createEvent").live('click', function(event) {
event.preventDefault();
.
.
.
//ajaxCall
});
您需要添加事件.preventDefault()代码>在调用ajax之前。您的函数应修改如下:
$(".createEvent").live('click', function(event) {
event.preventDefault();
.
.
.
//ajaxCall
});
如果要停止表单提交,您最好执行以下操作:
$("#eventForm_1318915800").submit(function () { return false; });
这更好,因为它还可以处理由Enter键触发的提交。例如,如果要停止表单提交,您最好执行以下操作:
$("#eventForm_1318915800").submit(function () { return false; });
这更好,因为它还可以处理由Enter键触发的提交操作。请检查函数updateBookingList(eventID)是否有重定向或刷新。请检查函数updateBookingList(eventID)是否有重定向或刷新。这不会阻止从键盘触发的提交操作。Yup。最好使用$(“#eventForm_1318915800”).live('submit',function(){})这不会阻止从键盘触发的提交。是的。最好使用$(“#eventForm_1318915800”).live('submit',function(){})完美,这正是发生的事情。谢谢你的提示-我实际上不知道Firebug会因为Javascript错误而崩溃,因此我能够选择一种非常有用的调试方法。太好了,这正是发生的事情。谢谢你的提示——实际上我不知道Firebug会因为Javascript错误而崩溃,因此我能够选择一种非常有用的调试方法。