[英]Keep value after submit form
我有這個類別復選框,如果我選擇某些值,它將顯示div size
但同時當我選擇復選框時,它將提交表單。 問題是如果我添加this.form.submit()
,下面的代碼將不起作用並且表單不會提交值,但如果我不添加它,代碼將起作用。 如何同時顯示div大小和提交表單?
function getIds(checkboxName) {
let checkBoxes = document.getElementsByName(checkboxName);
let ids = Array.prototype.slice.call(checkBoxes)
.filter(ch => ch.checked==true)
.map(ch => ch.value);
return ids;
}
$(".category").on('change', function() {
this.form.submit();
let catIds = getIds("category[]");
$.each(catIds, function(index, value){
if (value == '1' || value == '2') {
$("#size").show();
} else if (value == '3') {
$("#size").hide();
}
});
});
這聽起來像是賽車問題。 表單被瀏覽器放入不同的線程中,並在 javascript 的其余部分能夠完成之前首先被處理。
對我來說一個快速(但很臟)的修補程序通常是使用 setTimeout() 方法。
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
這樣 javascript 就可以發揮它的魔力,然后提交表單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.