文本字段未显示javascript函数中的变量

Textfield not displaying variable from javascript function

本文关键字:变量 函数 javascript 字段 显示 文本      更新时间:2024-01-14

我正试图从数据库中获取显示的数据(它将数据显示在表中的动态页面上),并将其作为另一个html页面(map.html)上的文本字段的值。

该值将是某种邮政编码/地址,我希望它能进入目的地文本字段中的谷歌地图页面。因此,当用户检查事件的位置时,他们按下"在地图上查看"按钮,该按钮将打开地图页面,事件的数据应该已经填充在文本字段中。

然而,什么都没有出现,而是保持空白,即使我只是输入了一些伪文本,它仍然不会填充。我知道位置值是在警报正确显示位置时提取的,但问题是将其填充到文本字段中。

我使用的是JQuery-Mobile/Cordova/JJavaScript/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"  />

使用现有代码将位置传递到新页面的最简单方法是将位置作为查询字符串附加到链接中的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]);

因为触发点击<a>,链接导致加载map.html页面,从而否定文本框内容的更新:

<a ...href='map.html'...

这优先于onclick事件。您需要将链接更改为按钮并将该功能触发为onclick事件,或者像其他海报用e.preventDefault()所指出的那样,阻止链接执行其正常功能。