我正在尝试验证弹簧形式的一面。在这里,我向我的弹簧控制器发送ajax请求。
问题:ajax调用只执行一次,在第二次表单提交后,调用不再被触发。这是什么原因?我的脚本有问题吗?所有字段都填写正常,我的控制器收到请求,并在第一次表单提交时发送响应。
就像表格在第一次尝试后不再尝试提交一样。
$(document).ready(function() {
var $form = $('#registratieFormulier');
$form.bind('submit', function(e){
e.preventDefault();
console.log('submit');
var $form = $('#registratieFormulier');
// Ajax validation
var $inputs = $form.find('input');
var data = collectFormData($inputs);
jQuery.ajax({
url:'<portlet:resourceURL id="valideerFormulier" ></portlet:resourceURL>',
data:data,
type: 'GET',
success: function(response) {
console.log(response);
console.log(response.ajaxResult.status);
if(response.ajaxResult.status == "FAIL") {
} else {
}
}
});
e.preventDefault();
return false;
});
});
答案 0 :(得分:1)
调用e.preventDefault()使其停止工作。 我会将代码绑定到click事件(而不是提交事件),然后如果验证成功则可以使用javascript提交表单,或者在验证失败时返回。