我是一名javascript初学者,使用Python的folium包在GUI中生成嵌入式地图
我在使用Jinja2 javascript模板和导出数据时遇到问题。在下面的代码中,模板是用函数copy_gps()定义的,当按下HTML按钮时会调用该函数。此功能按预期工作。但是,我无法在需要的位置访问copyText.value(GPS坐标)
以下是按钮的代码:
folium.Marker(
location=start_location,
popup=f'<input type="text" value="{start_location[0]}, {start_location[1]}" id="myInput" name="test1"><button onclick="copy_gps()">Add to Mission</button>',
icon=folium.Icon(color="red", icon="info-sign"),
).add_to(m)
以及来自Jinja2模板的代码:
el = folium.MacroElement().add_to(m)
el._template = jinja2.Template("""
{% macro script(this, kwargs) %}
function copy_gps() {
let copyText = document.getElementById("myInput");
/* document.write(copyText.value); */
alert(copyText.value);
return copyText.value;
}
{% endmacro %}
{% set a = "hello" %}
{% set b = script() %}
""")
按下按钮可以正确调用copy_gps()函数,但我想访问该函数中变量copyText中的数据,该变量位于宏中。我尝试将b设置为宏脚本,但在Python中调用时:
print(el._template.module.b)
。。。它只是逐字打印宏中包含的函数字符串,而不是调用函数并打印返回值
是否有一种方法可以从宏中的函数中获取copyText.value数据,并以类似的方式打印
print(el._template.module.a)
是否正确地将“hello”输出到Python控制台
提前感谢,并为糟糕的格式道歉,因为这是我的第一篇文章
目前没有回答
相关问题 更多 >
编程相关推荐