从同一表单提交中访问 Python 和 JavaScript 代码
Access Python and JavaScript code from the same form submission
我正在用Python编写一个Web应用程序。 我有一个表单,它将两个用户指定的条目作为输入,一个是文本字段,另一个是选择。 提交后,我获取这些条目并将它们存储到数据库中,稍后会查询并发布。 无论如何,需要JavaScript来获取用户的坐标,我需要,并且我已经将JavaScript嵌入到我的模板中,并且它应该将坐标输入到"隐藏"输入字段中。 我似乎无法使用标准调用(使用 GAE 和 Python)调用并成功检索这些元素的内容
latitude = self.request.get("latitude")
longitude = self.request.get("longitude")
以下是嵌入式 JavaScript 和表单输入元素:
<script>
function get_location() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPositon(showPosition);
} else {
alert('It appears geolocation isnt enabled.');
}
}
function showPosition(position)
{
$("#latitude").val(position.coords.latitude);
$("#longitude").val(position.coords.longitude);
}
</script>
<input type="hidden" name="latitude" id="latitude" />
<input type="hidden" name="longitude" id="longitude" />
<br>
<input type="submit" onclick="get_location()" value="Update">
仅供参考,这一切都在同一形式中。 因此,从理论上讲,这应该是生成用户的纬度和经度,然后将这些值传递给它们各自的输入字段。 有什么明显的原因不起作用吗? 提前谢谢。
getCurrentPosition()
是异步的。 在提交表单之前,它可能不会完成,因此不会填写字段值。
解决这个问题的一种方法是在getCurrentPosition()
完成并致电showPosition()
之前不要提交您的表单。 为此,您需要通过从get_location()
返回false
并在 onclick 处理程序中返回该返回值来阻止默认表单提交,然后在设置隐藏位置字段后调用showPosition()
时以编程方式提交表单。
解决此问题的另一种方法是在最初显示表单时填写当前位置,而不是等到您尝试提交表单。
仅供参考,请参阅未捕获的引用错误:lat 不是为今天因getCurrentPosition()
的异步性质而遇到类似问题的其他人定义的。
从提交按钮中消除函数调用并利用以下内容效果很好。
<script>
window.onload=get_location ;
</script>
</body>
相关文章:
- 为什么在python中使用异常比javascript更容易接受
- 如何访问Web2py'中python代码中的JavaScript变量;s视图
- 调用Javascript中的Python函数,读取静态文件(Flask)
- 如何使用Python/Selenium网络驱动程序处理Angularjs/Javascript下拉列表
- 如何在新创建的模块中从Odoo v8中的Javascript文件中调用python函数
- 创建一个html表单并使用javascript访问中的python脚本
- 当Python在Javascript中发送时,值将转换为UNICODE
- 将dicts数组从python传递到Javascript
- python到javascript正则表达式
- Python Javascript哈希库,以确保JSON对象在传输过程中不会损坏
- Python javascript builder
- Python/JavaScript/HTML 动态创建计算机网络图
- Selenium - Python - Javascript 下拉菜单选项值
- 自动调优/ Python / Javascript
- Selenium Python Javascript Execution
- Selenium python javascript弹出窗口
- Selenium RC / Python / JavaScript .aspx /循环语句
- Python/Javascript数字精度
- Python - JavaScript 网页抓取与硒不能正常工作
- Python/Javascript/AJAX 实时搜索帮助