Я хотел бы использовать переменную javascript (адрес электронной почты), которую можно получить, щелкнув точку на карте (mapbox). Я хотел бы вставить эту переменную в форму html / php в качестве адреса mailto. Но я потратил часы, пытаясь получить переменную из функции onclick, но безрезультатно. Это моя последняя попытка:
var agencyemail;
map.on('click', 'unclustered-point', function (e) {
agencyemail = e.features[0].properties.email;
// the variable functions correctly within the onclick function... and then more
}
По-видимому, это не работает. Отсюда я хотел бы вставить захваченную переменную в форму php
$et_email_to =
'<script>
document.write(agencyemail);
</script>' ;
Я также пробовал использовать sessionStorage, localStorage или let, но до сих пор не понял. Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ: Я использовал предложенные здесь решения. Я просто вставил переменную в значение скрытого поля формы.
map.on('click', 'unclustered-point', function (e) {
agencyemail = e.features[0].properties.email;
document.getElementById("agencyemail").value = agencyemail;
... и в html
<input type="hidden" value="" id="agencyemail" name="agencyemail"/>
Спасибо за помощь.
1 ответ
map.on('click', 'unclustered-point', function (e) {
var agencyemail = e.features[0].properties.email;
// the variable functions correctly within the onclick function... and then more
// HERE is where you would use that variable to change something in a form, for example with jquery:
$('a.mailto').prop('href','mailto:' + agencyemail);
}
Если вы создадите свой html-документ с элементом <a class="mailto">
, вы увидите, что он работает
Предполагается, что var agencyemail = e.features[0].properties.email;
действительно предоставит вам нужную информацию, у меня нет возможности проверить это.
Небольшой набор кодов, чтобы показать вам, как работает код jquery: https://jsfiddle.net/jhc0ky1f/
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.