我有一個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