1
這個問題已被問及不少時間回答。我已經搜索過,因此無法找到有效的解決方案。我試過e.preventdefault()
和return false
。都沒有工作。然後,我看到我需要回到AJAX,不能使用承諾,我拒絕這樣做,我拒絕認爲沒有辦法通過承諾來實現。停止窗體重定向?
反正
代碼:
var submitDataForm = function() {
console.log("button called");
var email = document.getElementById('email');
var first = document.getElementById('first-name');
var last = document.getElementById('last-name');
var web = document.getElementById('domain');
var city = document.getElementById('city');
var obj = document.getElementById('obj');
var describe = document.getElementById('describe');
var brandpower = document.getElementById('brandpower');
if (email.checkValidity() && first.checkValidity() && web.checkValidity() && city.checkValidity() && obj.checkValidity()) {
var emailV = email.value;
var firstV = first.value;
var webV = (web.value == undefined) ? 'null' : web.value;
var cityV = city.value;
var objV = obj.options[obj.selectedIndex].value;
var describeV = (describe && describe.options && describe.selectedIndex) ? describe.options[describe.selectedIndex].value : describe.value;
var brandpowerV = (brandpower && brandpower.options && brandpower.selectedIndex) ? brandpower.options[brandpower.selectedIndex].value : brandpower.value;
var radio = jQuery('input[name="dealer"]:checked').val();
jQuery.post("/form-one/?" + "email=" + emailV + "&first=" + firstV +
cityV + "&domain=" + webV + "&obj=" + objV + "&describe=" + describeV + "&brandpower=" + brandpowerV +
"&radio=" + radio, function() {
console.log("data sent");
})
.done(function() {
console.log("data success");
})
.fail(function() {
console.log("data failed");
})
.always(function() {
console.log("data finished");
email.value, first.value, web.value, city.value, obj.value, describe.value, brandpower.value = "";
//window.location.href = "/";
});
} else {
$('#error').css('display', 'block').delay(5000).queue(function (next) {
jQuery('#error').fadeOut('slow').css('display', 'none');
});
}
}
<button id="next" class="green-button" onClick="submitDataForm()">Next</button>
同樣,我想擁有的形式做什麼,但提交的數據(將增加後的自定義事件)沒有刷新或重新加載。
謝謝!
* * - 我不知道「我拒絕認爲沒有辦法與承諾做到這一點。」看看這個或那個方面有什麼承諾。 *「我需要回到AJAX」* - 你是什麼意思「回到」?顯示的代碼使用Ajax,並且不取消該按鈕的任何默認行爲,並且假設該按鈕是一個提交按鈕(如果它處於表單中),它將提交該表單。 – nnnnnn
您是否只是普通的'
@ c-smile - 如果'type'屬性不存在於''元素中,它默認爲'type =「submit」'。 –
nnnnnn