我试图从数据库中显示数据(它在表格中的动态页面上显示),并将其作为不同html页面上的文本字段的值(map.html)。
该值将是某种邮政编码/地址,我希望它进入目的地文本字段中的我的谷歌地图页面。因此,当用户检查事件的位置时,他们按下“在地图上查看”按钮,这将打开地图页面,并且事件中的数据应该已经填充在文本字段中。
然而,没有任何东西出现,而是它仍然是空白的,即使我只是放入一些虚拟文本它仍然没有填充。我知道正在提取位置值,因为警报正确显示了位置,但问题是它是否填充在文本字段中。
我正在使用JQuery Mobile / Cordova / JavaScript / JQuery / HTML。该应用程序是一个单页结构,但map.html除外,它有自己的页面。
有什么想法吗?
获取位置值:
$(document).on("click", ".btnMap", function(e){
var location = $(this).data("rowlocation");
viewMap(location);
});
按钮片段:
<a data-rowlocation='" + response.rows.item(i).Location + "' href='map.html' onclick='viewMap(location)' data-role='button' rel='external' data-mini='true' class='btnMap'>View on Map</a></td></tr>"
viewMap功能:
function viewMap(location) {
alert(location);
$("#target-dest").val(location);
}
HTML:
<input type="text" name="target-dest" id="target-dest" />
答案 0 :(得分:1)
将位置传递到新页面的最简单方法 - 使用现有代码将位置作为查询字符串附加到链接中的href。
<a ...href='map.html?loc='" + response.rows.item(i).Location + "'...
然后在目标页面上 - 使用JS从URL中获取查询字符串,将其从UURL的其余部分拆分并传递给文本框。
//js on destination page
var locn=location.href;
var locationPortions = locn.split("?loc=");
$('#target-dest").val(locationPortions[1]);
答案 1 :(得分:0)
由于此触发器点击了<a>
,因此该链接导致map.html页面加载,从而无法更新文本框内容:
<a ...href='map.html'...
这比onclick事件更优先。您需要将链接更改为按钮并将该功能作为onclick事件触发,或者阻止链接执行其正常功能,因为其他海报已经注意到e.preventDefault()。