我有一个ajax函数来计算和执行特定的验证。jQuery ajax发表奇怪的行为
代码如下所示:
function collectFormData(fields) {
var data = {};
for (var i = 0; i < fields.length; i++) {
var $item = $(fields[i]);
data[$item.attr('name')] = $item.val();
}
return data;
}
function calculate(){
var $form = $('#purchase-form');
var $inputs = $form.find('[name]');
var data = collectFormData($inputs);
$.ajax({
url: '${validateUrl}',
type: 'POST',
data: data,
contentType: 'application/json; charset=utf-8',
success: function (response) {
alert(response.status);
},
error: function() {
alert("error");
}
});
}
HTML:
<button id="calculateBtn" class="btn btn-primary" onclick="calculate();">
<spring:message code="button.calculate" />
</button>
然而,一旦上述函数调用正在提交我的形式。什么可能导致这个?
因为你打电话给$ ajax。在你的计算函数中。有什么奇怪的呢? :) – smk 2013-03-19 02:57:25
你怎么触发这个'calculate()'函数? – Raptor 2013-03-19 02:57:55
是的,确切地说,这个函数绑定了哪个元素?这是一个按钮或别的东西? – OQJF 2013-03-19 02:58:47