現在、送信ボタンを押すと、ドロップダウンリストボックスにある値に従ってマーカーをマップに配置する必要があるコードがいくつかあります。ドロップダウンボックスの値がPHPコードのGETフォームメソッドを介してURLに入力され、パラメーターを介してjavascript関数に値が渡されるようにしました。
私が抱えている問題は、マーカーが地図に表示されるように、送信ボタンを2回押す必要があることです。これは理想的とは言えません。私はこの問題を解決するための助けを探しています。ありがとう。
これはjavascript関数コードです:
function placeMarker(address)
{
// ... Set up map code here
var map = new google.maps.Map(document.getElementById("universityMap"), myOptions);
<?php
$uniname = $_GET['uninames'];
//Get the Uni code according to the uni name
$queryUniID = $mysqli->prepare("SELECT IdCode FROM universityid WHERE UniName = ?");
$queryUniID->bind_param('s', $uniname);
$queryUniID->execute();
$queryUniID->bind_result($unicode);
$queryUniID->fetch();
$queryUniID->close();
//Load the question data into relevant variables
$queryQuestions = $mysqli->prepare("SELECT QuestionNo, Answered1, Answered2, Answered3, Answered4, Answered5 FROM nssdata WHERE UniID = ?");
?>
address = address + ", UK";
geocoder.geocode({'address': address}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
marker = new google.maps.Marker(
{
map: map,
position: results[0].geometry.location,
title: address,
draggable: false
});
}
else
{
alert(status);
}
});
}
これは私のhtmlフォームです:
<form action="#" onsubmit="placeMarker(this.uninames.value)" method="get">