单击按钮后,我的页面会重新加载为什么

时间:2020-05-13 04:51:34

标签: javascript jogetworkflow joget

我已经在日历中写了一个JavaScript代码,并在joget外部正确运行了一个按钮。在joget应用程序中,如果单击按钮将重新加载页面,如何停止页面的重新加载并在joget中显示实际的单击功能。

enter image description here

`$('#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是我按钮的功能。我单击按钮,它会在刷新页面,在joget中重新加载页面的同时显示内容。同时在Visual Studio中正常工作。您能帮我吗

2 个答案:

答案 0 :(得分:0)

您可以添加代码吗:href为空时会发生这种情况。将其更改为href:"#"

否则,请添加您的代码段。


更新问题后,您可以做什么。

方法1:

`$('#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= ""

答案 1 :(得分:0)

我认为您必须阻止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>