0

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

在此处输入图像描述

`$('#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 中正常工作。你能帮我解决这个问题吗

4

2 回答 2

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>
于 2020-05-13T05:12:36.693 回答
0

您可以添加代码吗:当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= ""按钮

于 2020-05-13T04:57:59.477 回答