簡體   English   中英

提交表單后保留價值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM