通过Javascript传递PHP值
我不知道是否有人能帮我 我目前正在使用下面的代码成功地将操作系统网格引用转换为Lat&Lon坐标。这是通过在我的html表单上的按钮上单击事件来完成的通过Javascript传递PHP值,php,javascript,mysql,Php,Javascript,Mysql,我不知道是否有人能帮我 我目前正在使用下面的代码成功地将操作系统网格引用转换为Lat&Lon坐标。这是通过在我的html表单上的按钮上单击事件来完成的 function converttolatlng() { var gr = document.getElementById('osgridref').value; var osgb = new GT_OSGB(); if (osgb.parseGridRef(gr)) { var wgs84 = os
function converttolatlng() {
var gr = document.getElementById('osgridref').value;
var osgb = new GT_OSGB();
if (osgb.parseGridRef(gr)) {
var wgs84 = osgb.getWGS84();
document.getElementById('osgb36lat').value = wgs84.latitude;
document.getElementById('osgb36lon').value = wgs84.longitude;
}
else {
document.getElementById('osgb36lat').value = "n/a";
document.getElementById('osgb36lon').value = "n/a";
}
}
我现在想从一个外部xml文件中引入一些操作系统网格引用(大约22000),我想在将信息上传到mySQL数据库之前转换这些文件(因此不会经历正常形式的“单击”事件),但我真的不确定如何做
也许有人能告诉我如何绕过“点击”事件,自动执行转换
任何帮助都将不胜感激
非常感谢如果我正确理解了您的问题,并且您只是想避免单击按钮,那么您只需在HTML底部的
中调用函数即可。浏览器呈现脚本后,脚本将立即执行,因此只要上面的页面上已经有必要的元素,并且加载了XML,脚本就可以正常工作
<!-- after most of your HTML, but before the closing <body> -->
<script type='text/javascript'>
converttolatlng();
</script>
</body>
</html>
实现这一点的一个快速方法(以及学习一个将来非常有用的工具)是使用ETL工具,如。这是一个可视化工具,您可以连接到数据库和XML文件,执行步骤转换,然后点击run。它将为您完成所有转换
如果需要,可以使用Pentaho中的OSGB java库为您进行转换,但也可以使用Javascript库。Pentaho的文档有点缺乏,它确实需要一点时间来使用,但一旦你弄明白了,它会加快任何ETL项目的速度,你可能只需要几分钟而不是几个小时
或者,如果OSGB库在PHP中不可用,我将通过Javascript以循环方式运行它,并使用jQuery.Json函数将结果传递给PHP以写入数据库。这样,您就可以传递异步对象,并且只需要处理那些失败的转换/DB写入
检查这与PHP有什么关系?您好,非常感谢您抽出时间回复我的帖子。理想情况下,如果可以的话,我希望完全绕过HTML表单。这样,它可以在我的网站用户非常少的时候作为预定作业运行。问候
<script type='text/javascript'>
window.onload = converttolatlng();
</script>