我正在尝试从网络应用获取地理位置,而这个值我需要验证它并选择放置="选择"在下拉菜单中,但我不知道如何获取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>
答案 0 :(得分:0)
您希望使用其他javascript来设置选择框的值,如下所示:
var element = document.getElementById('start');
element.value = 'location_code_in_selectbox';
答案 1 :(得分:0)
您可以使用Javascript将数据存储在$_POST
或$_GET
变量中,然后将这些变量提交到另一个页面上的php,您可以将变量放入脚本中。
答案 2 :(得分:-1)
为了将值发送到服务器端php脚本,您可以使用ajax请求或在表单提交上发送数据的(不可见)表单字段。
您应该阅读有关请求/响应HTTP内容以及客户端和服务器端执行之间的区别。
无论如何,如果你不是严格要求在服务器端(php)处理信息,那么用javascript / jquery直接标记所选选项就足够了:
if (/* long lat conditions*/) {
$('#start').val('Sediul 1'); // mark Sediul 1 as selected
}