如何通过按下按钮在同一网页上显示文本,按钮位于 Folium 地图上的弹出窗口中

How to show a text on the same webpage by pressing a button, button is on a popup on Folium map

众所周知,我们可以通过 HTML:

上的这段代码在同一网页上打印文本
<body>
    <button onclick="myFunction()">Click me</button>
    <h1 id="myHeader"></h1>
 <script>
      function myFunction()
      {
       document.getElementById("myHeader").innerHTML = "hi";
      }

 </script>
 </body>

在我的代码中,按钮位于 Folium 地图的弹出窗口中,如下所示:

所以,我想在 h1 标签上写“hi”,这个按钮的 onclick 函数“更多信息!”在同一页上:

在 HTML 文件中:

<h1 id="myHeader">SSSSSS</h1>

    <div>
        <form name="AAA" >
            <center>
                {{ map| safe }}
            </center>
        </form>
    </div>

 <script>
 function showsth()
     {
     document.getElementById("myHeader").innerHTML = "hi";
     }
 
 </script>

而且我使用的是 Django,所以,我预定义了这样的弹出窗口:

在views.py中:

popup_t = (...
           + '<button onclick="showsth()">More info!</button>'
           )
test = folium.Html(popup_t, script=True)
popup = folium.Popup(test, min_width=150, max_width=500)

所以,当我点击按钮时,我没有得到任何响应,就像我在第一个 HTML 代码中显示的那样。 你知道这个问题吗?

更新 我也测试了 AJAX JQUERY。 folium的popup外的按钮在点击时会起作用,但是当按钮被转移到popup时,它就不起作用了。

我想到也许我可以使用“link”而不是“按钮”。 问题是:是否可以使用 link (href) 将用户引导至同一页面而无需重新加载?就像 AJAX 对按钮所做的一样!

经过大量研究,我得出的结论是无法从 Folium 地图点击中获得响应。对我来说,我使用了 Leaflet 和 Ajax jQuery。我在 HTML 文件上定义了地图,并使用了一个单击地理点的函数。该函数将点数据返回给 views.py,完成了一些工作,并将响应发送回 jQuery 的成功函数中的 HTML 文件。您可以在我的其他问题中关注我的代码行: