通过Javascript传递PHP值

通过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

我不知道是否有人能帮我

我目前正在使用下面的代码成功地将操作系统网格引用转换为Lat&Lon坐标。这是通过在我的html表单上的按钮上单击事件来完成的

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>