【问题标题】:Need to get a value id into an input需要在输入中获取值 id
【发布时间】:2018-05-09 19:56:24
【问题描述】:

我需要一些有关此代码的帮助。我试图将id="address" 值放入名为localizacion 的输入中,我已经尝试了几件事,但仍然没有找到正确的答案,基本上我需要的是获得显示<div id="address"> 的值和将其放入输入字段中。

function updateMarkerAddress(str) {
  document.getElementById('address').innerHTML = str;
}
<head>
  <script>
    var a = document.getElementById('address').value;
    document.forms['formula'].elements['localizacion'].value = a;
  </script>
</head>
<div>
  <form>
    <label for="localizacion"><b>Localización </b></label>
    <input class="form-control" type="text" placeholder="" name="localizacion" style="height: 10px; width: 299px; margin-left: 6px;" disabled><br />
    <label><b>Seleccione su localizacion: </b></label><br>
    <div id="mapCanvas"></div>
    <div id="infoPanel">
      <b>Marker status:</b>
      <div id="markerStatus"><i>Click and drag the marker.</i></div>
      <b>Current position:</b>
      <div id="info"></div>
      <b>Closest matching address:</b>
      <div id="address"></div>
    </div>
    <br>
  </form>
</div>

问题截图:

【问题讨论】:

    标签: css html google-maps


    【解决方案1】:

    试试这个,使用

    var a = document.getElementById('address').innerHTML;
    

    获取地址的值

    document.getElementsByName("localizacion")[0].value = a;
    

    设置本地化值

    var a = document.getElementById('address').innerHTML;
    document.getElementsByName("localizacion")[0].value = a;
    <input class="form-control" type="text" placeholder="" name="localizacion" style="height: 10px; width: 299px; margin-left: 6px;" disabled>
    
    <div id="address">Sample</div>

    【讨论】:

    • 首先,感谢您的帮助!我试过了,没有用。
    • 我添加了一个截图,我想要的是地址显示的文本,显示在输入中
    • @Kenneth 您的地址会在一段时间后加载吗?
    • 它的作用是每次移动标记时都会显示新地址。但它立即显示它没有加载。
    • @Kenneth ,然后在标记 draggend 回调中添加上面的代码,即,每当你从 geoloaction api 获取地址时
    【解决方案2】:

    您可以定位您的form-control 类并将其设置为address 的innerText 的值。

    setInterval(function(){ 
    //Update the localizacion box every 0.5 seconds
    var a = document.getElementById('address').value;
    document.getElementsByClassName("form-control")[0].value = a;
    }, 500);
    

    我去掉了&lt;i&gt; 标签。使用 CSS 代替斜体。还删除了 &lt;strong&gt; 标签的 &lt;b&gt; 标签。希望这可以帮助。 Fiddle

    function updateMarkerAddress(str) {
     	document.getElementById('address').innerHTML = str;
     }
     var a = document.getElementById('address').innerText;
     document.getElementsByClassName("form-control")[0].value = a;
    //document.forms['formula'].elements['localizacion'].value = a;
    #markerStatus{
      font-style: italic;
    }
    <label for="localizacion"><b>Localización </b></label>
    <input class="form-control" type="text" placeholder="" name="localizacion" style="height: 10px; width: 299px; margin-left: 6px;" disabled><br>
    <label><strong>Seleccione su localizacion: </strong></label><br>
    <div id="mapCanvas"></div>    
    <div id="infoPanel">
    <strong>Marker status:</strong>
    <div id="markerStatus">Click and drag the marker.</div>
    <strong>Current position:</strong>
    <div id="info"></div>
    <strong>Closest matching address:</strong>
    <div id="address">Some Address</div>
    </div>
    <br>

    【讨论】:

    • 首先,感谢您的帮助!我之前尝试过,但没有任何反应,我理解您的代码为什么显示“某些地址”,但问题是我需要从 id="address" 获取值。在我拥有它的行
      中,它可以工作并显示我想要的文本,但问题是当我尝试在输入中获取它时。
    • 我添加了一个截图,我想要的是地址显示的文本,显示在输入中
    • 您可以添加一个 setInterval 函数来每隔 x 秒检查一次地址 div 上是否有新文本。检查这个小提琴我用输入框做的。 jsfiddle.net/2t1sz1h4/1 用于您的情况,一旦您单击地图,抓住该元素并将其发送到本地化输入
    • 我已经检查了你的小提琴,这就是我需要的。但是有一个问题,我的目标是用户在地图上设置他的位置并获取地址的值并将其放入输入中,问题是没有显示任何内容,也没有显示第一个值。顺便说一句,我已经尝试过你小提琴中的函数(我认为它很棒),但由于它没有显示任何初始值,所以它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多