我有一个表单,可以接受输入,通过验证,如果一切都很好,我可以允许请求并弹出一个模式,使他们可以取消(因为这需要大约2秒的时间)处理文件)。
mainForm.onsubmit = function() {
const title = document.getElementById('grow_journal_entry_title').value;
const notes = document.getElementById('grow_journal_entry_notes').value;
const file = document.getElementById('file').value;
// Check if the FILE was inputted, because the title and notes are HTML validated
if (title && notes){
if (file){
// display modal
modal.style.display = "block";
}
else {
// Focus on the #upload-button-area div.
document.getElementById('upload-button-area').focus();
alert("Please attach a photo to your journal entry.");
return false
}
}
}
有道理,但是现在,这就是我的“取消”功能的方式。
cancelBtn.addEventListener('click', function(){
window.stop();
console.log('Cancel button clicked.');
modal.style.display = "none";
return false
});
但是,一切正常,除了请求仍然通过。控制台将打印出Cancel button clicked
,关闭模式,但是由于某些原因,window.stop()
没有执行任何操作。
我什至试图这样做:
<input id="cancelUpload" class="btn advance-btn sub-text-secondary btn-secondary-col" value="Cancel Upload" type="submit" onclick="stopSubmission()">
并且:
function stopSubmission(){
try {
window.stop();
} catch (exception) {
document.execCommand('Stop');
}
console.log("Should have stopped.")
}