在我提交FOSUserBundle的编辑配置文件表单后,我希望响应转到div。怎么做?我不能通过jquery来做,因为我的偶数处理程序根本没有被调用。响应将作为新页面加载。
$("#user_management").find('form').submit(function(e)
{
e.preventDefault(); //STOP default action
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
console.log('Form clicked.');
$.ajax(
{
url : formURL,
type: "POST",
data : postData,
success:function(data, textStatus, jqXHR)
{
//data: return data from server
loadDataToTarget(data,textStatus,'targetDiv');
},
error: function(jqXHR, textStatus, errorThrown)
{
//if fails
console.log('Form submit fail: ' + textStatus);
}
});
//e.unbind(); //unbind. to stop multiple form submit.
});
$("#user_management").find('form').submit(); //Submit the FORM
注意:表单位于user_management div中。当我在调试模式下在javascript控制台上输入上面的整个代码时,该功能非常有效。但是,当我单击提交按钮时,此功能根本没有被触发,整个页面都会重新加载响应。
新信息:当我单击提交按钮时,事件由验证程序处理。此时我希望ajax可以捕获该事件,以便可以通过ajax完成提交。相反,在表单验证之后,Symfony继续提交表单并重新加载整个页面。
有人请告诉我如何让验证器工作,但事件可以被ajax抓住。
答案 0 :(得分:0)
我没有意识到我必须为新创建的ajax元素添加元素的事件监听器。一旦我这样做,ajax接管了。我现在很好..感谢您为我提供有价值的建议。