簡體   English   中英

單擊按鈕時,我的頁面重新加載原因

[英]On click of the button my page reloads why

我寫了一個 JavaScript 代碼在我有日歷和一個按鈕,該代碼在 joget 之外正確運行。 在 joget 應用程序中,如果我單擊頁面重新加載的按鈕,如何停止重新加載頁面並在 joget 中單擊 function 時顯示我的實際值。

在此處輸入圖像描述

`$('#getBetween').click(function () {
                var start = $("#date_picker1").datepicker("getDate"),
                    end = $("#date_picker2").datepicker("getDate"),
                    currentDate = new Date(start),
                    between = []
                    ;

                while (currentDate <= end) {
                    between.push(new Date(currentDate));
                    currentDate.setDate(currentDate.getDate() + 1);
                }

                $(document).ready(function () {
                    $("#results").html(between.map(function (value) {
                        return $('#results:last').after('<div class="block">' + value + '<button class="remove">x</button></div>')
                    }));
                    $('.remove').click(function () {
                        $(this).parent().remove();
                        console.log(between)
                    })
                });


            });

`

getbetween 是我的按鈕的 function。 我單擊按鈕,它在刷新頁面的同時顯示內容,在 joget 中重新加載頁面。 雖然它在 Visual Studio 中正常工作。 你能幫我解決這個問題嗎

您可以添加代碼嗎:當href為空時會發生這種情況。 將其更改為href:"#"

否則,請添加您的代碼片段。


更新問題后,您可以做什么。

方式一:

`$('#getBetween').click(function () {
                    var start = $("#date_picker1").datepicker("getDate"),
                        end = $("#date_picker2").datepicker("getDate"),
                        currentDate = new Date(start),
                        between = []
                        ;

                    while (currentDate <= end) {
                        between.push(new Date(currentDate));
                        currentDate.setDate(currentDate.getDate() + 1);
                    }

                    $(document).ready(function () {
                        $("#results").html(between.map(function (value) {
                            return $('#results:last').after('<div class="block">' + value + '<button  class="remove">x</button></div>')
                        }));
                        $('.remove').click(function (e) {
                         e.preventDefault()
                            $(this).parent().remove();
                            console.log(between)
                        })
                    });


                });

只需添加preventdefault()

或方式 2 不確定,但您可以在按鈕上添加onClick= ""

我認為您必須防止 JS 代碼的默認行為。

例如:

<form id="my-form">
    <!-- Your fields -->
    <input type="text">
    <button type="submit">Submit</button>
</form>

<script>
var myForm = document.querySelector("#my-form")
myForm.addEventListener('submit', (event)=> {
    event.preventDefault()
    // Do another stuffs after it
}) 
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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