У меня есть этот раздел div:
<div id="address"></div>
И он показывает форматированный адрес долготы и широты местоположения на картах Google. У меня есть перетаскиваемый маркер, который будет указывать на любое место на карте, и он позволяет ПОКАЗАТЬ имя адреса, долготу и широту. Мне удалось успешно сохранить долготу и широту в моей базе данных в MySQL с помощью PHP. Но мне не удалось сохранить адрес.
Я использовал следующие строки кода, чтобы сохранить long и lat.
<input type="hidden" id="longitude" placeholder="longitude" name= "longitude">
<input type="hidden" id="latitude" placeholder="latitude" name= "latitude">
Но когда я сделаю
<input type="hidden" id="address" placeholder="address" name= "address">
Там не передается значение. но
<div id="address"></div>
Может показать адрес на веб-странице. Так вот почему я отправлю значение div id = "address" в базу данных php и MySQL? Там в любом случае? Как преобразовать это или так?
И также, для визуализации у меня есть этот HTML прямо здесь, http://gmaps-samples-v3.googlecode.com/svn/trunk/draggable-markers/draggable-markers.html
Как вы можете видеть, он может также указывать имя адреса с помощью long и lat. Я смог сохранить long и lat в моей базе данных, но как мне сохранить имя адреса в базе данных ??? Вы можете сохранить файл по ссылке, которой я поделился, и проверить код.
3 ответа
Вы можете создать асинхронный HTTP-запрос или более известный как AJAX. Если вы знакомы с инфраструктурой jQuery: http://api.jquery.com/jquery.ajax/
Скажем, на вашу кнопку "submit" ссылается "btnSubmit" в качестве идентификатора:
<input type="submit" value="submit" id="btnSubmit" />
Вам нужно будет прикрепить обработчик события «click», чтобы мы знали, когда он был нажат или отправлен:
$('#btnSubmit').on('click', function(){
/*this is where you'll place your ajax call*/
});
И чтобы сделать вызов ajax, вы сделаете что-то вроде этого:
/*get the inner html value of div with "address" as its ID*/
var long= "long=" + $('#longitude').val();
var lat = "lat=" + $('#latitude').val();
var data = "address=" + $('#address').html()+'&'+long+'&'+lat;
$.ajax({
type: 'GET',
url: "my_php_script.php",
data: data
})
.done(function(data) {
/*handle successful call here*/
})
.fail(function(data) {
/*oops, something went wrong*/
})
.always(function(data) {
/*no matter what, let's do this*/
});
Мы можем использовать GET или POST в качестве типа ajax. Несмотря на то, что мы использовали GET, вам нужно убедиться, что в вашем my_php_script.php вам придется использовать следующее, чтобы получить значение «address», передаваемое в качестве параметра данных:
$address = $_GET['address'];
$long = $_GET['long'];
$lat = $_GET['lat']
В my_php_script.php вы, очевидно, будете использовать адрес и делать вещи, которые хотите сохранить в базе данных, и все такое.
Не забудьте включить последнюю версию библиотеки jQuery и обернуть js-скрипты при загрузке:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$(function(){
/*all jscript goes here*/
});
Сделать это можно так:
HTML:
<div id="address">Berlin, street 99, Germany</div>
<input type="hidden" id="address-to-save" name="address-to-save" value="">
JQuery:
var address = $("#address").text();
$("#address-to-save").val(address);
Ниже код даст вам адрес в DIV
Если вы используете jquery
alert($("#address").html())
И если вы используете простой JavaScript
console.log(document.getElementById("address").innerText);
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.