我正试图从web应用程序中获取地理位置,我需要验证这个值,并将selected="selected"放在下拉菜单中,但我不知道如何获取JS变量并将其用于PHP。请帮帮我!
获取位置:
<script type="text/javascript">
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position)
{
var lat = position.coords.latitude;
var long = position.coords.longitude;
alert('Found location: ' + lat + ', ' + long);
}
function noLocation()
{
alert('Could not find location');
}
</script>
我会有一个这样的选择:
<select name="destination" id="start">
<option value="Domiciliu">Domiciliu</option>
<option value="Sediul 1" <?php if(lat >= 45.795517 && long <= 24.137433){ echo"selected='"selected'"";}else{} ?>>Sediul 1</option>
<option value="Sediul 2" <?php if(lat && long){ echo"selected='"selected'"";}else{} ?>>Sediul 2</option>
<option value="Vama" <?php if(lat && long){ echo"selected='"selected'"";}else{} ?>>Vama</option>
<option value="Hotel Hilton" <?php if(lat && long){ echo"selected='"selected'"";}else{} ?>>Hotel Hilton</option>
<option value="Hotel Golden Tulip" <?php if(lat && long){ echo"selected='"selected'"";}else{} ?>>Hotel Golden Tulip</option>
<option value="TESS" <?php if(lat && long){ echo"selected='"selected'"";}else{} ?>>TESS</option>
<option value="Alta locatie">Alta locatie</option>
</select>
您需要使用额外的javascript来设置selectbox的值,如下所示:
var element = document.getElementById('start');
element.value = 'location_code_in_selectbox';
您可以使用Javascript将数据存储在$_POST
或$_GET
变量中,然后将这些数据提交到另一个页面上的php,在那里您可以将变量拉入脚本。
为了将值发送到服务器端php脚本,您可以使用ajax请求或在表单提交时发送数据的(不可见)表单字段。
您应该了解请求/响应HTTP的内容以及客户端和服务器端执行之间的区别。
无论如何,如果您不严格需要在服务器端(php)处理信息,那么直接用javascript/jquery:标记所选选项就足够了
if (/* long lat conditions*/) {
$('#start').val('Sediul 1'); // mark Sediul 1 as selected
}