我正在处理一个表单:
<div class="directions_holder">
<h4><i class="fa fa-map-marker"></i> Get Direction</h4>
<p>Enter your location</p>
<form action="" align="right" onsubmit="calcRoute('routeStart615d1caf4ca70', '10.809556085818913', '106.62590956389425', 'map_canvas615d1caf4ca6f');
return false;">
<input type="text" id="routeStart615d1caf4ca70" value="" placeholder="Your Location" style="margin-top:3px"><br><br>
<input type="submit" value="Get Direction" class="button" onclick="calcRoute('routeStart615d1caf4ca70', '10.809556085818913', '106.62590956389425', 'map_canvas615d1caf4ca6f');
return false;">
</form>
</div>
我想添加一个名称标签name="autocomplete_address"到这个输入得到自动完成地址插件的工作,但我不知道如何在javascript中找到输入,因为这个输入的id每次刷新页面时总是改变,所以我不知道如何选择它来添加名称标签。
<input type="text" id="routeStart615d1caf4ca70" value="" placeholder="Your Location" style="margin-top:3px"><br><br>
请帮帮我。由于
既然你不能用id作为选择符或许你可以试试DISTINCT
比如占位符选择符这样你就可以这样写
var elm = document.querySelectorAll('[placeholder="Your Location"]')[0];
elm.setAttribute("name","autocomplete_address");
//Alert current name
alert(elm.getAttribute("name"));
或者您可以使用其他属性更改querySelectorAll()
的值
document.querySelector('input[type=text]')将第一个页面上输入字段。
如果有多个表单,请先选择。
也许你想要这个
记住一点,名字是一个属性,而不是一个标签。
let form = document.getElementById("form");
var input = document.createElement("input");
input.setAttribute("type", "autocomplete_address");
form.appendChild(input);
使用JQuery可以简单地做到这一点
$('.directions_holder input[type="text"]').attr('name','autocomplete_address');