искали весь день, нашел предметы похожие, но совершенно застряли ...Pass Javascript и PHP переменные через PHP Формы
Я хочу передать результат Google Maps автозаполнения (LatLng) в PHP форме вместе с PHP переменных через один представить (не две кнопки, то есть поставить переменную JS в скрытом поле затем отправить форму с помощью кнопки отправки)
Код в настоящее время:
<?php
if (isset($_POST['submit'])) {
// echo vars if they are working...
echo "passed data <br>";
echo $_POST['first_name'] . "<br>";
echo $_POST['geocode'] . "<br>";
// Get variables, check data and store into DB...
}
?>
тогда:
<script type="text/javascript">
var geocoder;
function initialize() {
// Search options
var searchOptions = {
componentRestrictions : {country: 'nz'},
types: ['geocode']
};
var input = document.getElementById('pac-input');
var autocomplete = new google.maps.places.Autocomplete(input, searchOptions);
geocoder = new google.maps.Geocoder();
}
function codeAddress() {
var address = document.getElementById('pac-input').value;
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
document.getElementById('geocode').value = (results[0].geometry.location);
} else {
//alert('Geocode was not successful for the following reason: ' + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
function submitthis() {
codeAddress();
}
</script>
<script>
$(function(){ // Document Ready
});
</script>
Наконец:
<form id="myForm" name="myForm" action="google-text-input.php" method="post" >
First Name<input name="first_name" type="text"><br>
Address<input id="pac-input" class="controls" type="text" placeholder="Search Box"><br>
<input id="geocode" name="geocode" type="text" value="null"><br> <!-- to be hidden -->
<input name="submit" type="submit" value="Submit" onclick="submitthis()"><br>
</form>
Я бы лучше хотел, когда я нажал на кнопку Submit, он сохраняет Google Maps привести к скрытым, представляет форму на одной странице, то я могу потянуть все PHP ВАР и магазин. Я открыт для подхода, который после отправки помещает часть javascript в url, где я могу вытащить PHP vars через POST и просто получить результат Google в URL-адресе.
Единственное, что я могу видеть, которое не работает в приведенном выше, - это форма, которая будет отправлена до завершения моего кодаAddress(). Как будто я помещаю return false, чтобы предотвратить отправку формы, обновляет мое скрытое поле.
Заранее благодарен!
Вы используете jQuery? –
Да, я могу! Я посмотрел на предупреждение клавиши ENTER на адрес и onblur() поля адреса, чтобы обновить мое скрытое поле (показано в настоящее время), просто не уверен, что это правильный подход ... – sprintcar78a