0

假设下面是简单的三输入表单。使用 lat 和 lon 的值,我需要运行一个 PHP 函数(已编写),该函数在站点名称中创建我想要的值。当前的表单操作已经可以正常工作,并且与我的问题完全不同。

<form name="w3Balltrak" class="feedbackform" action="readyget.pl" method="post"
<input type="text" id='lat' name='lat' value='' />
<input type="text" id='lon' name='lon' value='' />
<input type="text" id='sitename' name='sitename' value='' />
<input type="submit" value="Submit" /> 
</form>

我的问题是我不知道如何将站点名称的值设置为我的 PHP 函数的输出。该函数运行良好,在 PHP 中调用它看起来像这样 'getWX($lat, $lon)' 并且返回看起来像这样 'MCI'。

如何在用户输入 lon 值之后但在他点击表单末尾的提交按钮之前立即设置站点名称 M​​CI 的默认值?

我希望我问得足够好,以便有人理解和回答。

4

2 回答 2

0

如果想在不提交表单的情况下与PHP进行通信,则需要使用ajax。你听说过jQuery,它为 ajax 查询提供了一种便捷的方式吗?

我基本上会附加一个事件处理程序来注意更改,lat如果lon两者都设置了,则通过 ajax 请求服务器端 php 脚本。

这对你有帮助吗?

于 2012-11-28T20:25:01.360 回答
0

据我了解您的问题..您的答案将是ajax

<script type="text/javascript">
// wait until the document ist ready.. otherwise the 2 ids dont exist in this moment
jQuery(document).ready(function($){
    // on every change in the input fields send a request to the php
    $('#lat, #lon').live('change', function(){
        $.get("test.php", { lat: $('#lat').val(), lon: $('#lon').val() },
           function(data){
             $('#sitename').val(data);
        });            
    });
});
</script>

并在 test.php 文件中

<?php
// if the 2 fields are not empty ... join them and return the result
if(!empty($_GET['lat']) && !empty($_GET['lon'])){
    $result = $_GET['lat'] . $_GET['lon'];
}
echo $result; 
?>

$result 然后将是 jQuery 函数作为“数据”接收的内容

于 2012-11-28T20:33:02.300 回答