【发布时间】:2023-04-04 03:02:01
【问题描述】:
我有一个表单,其中按钮调用函数onclick:
<form>
<input type="text" id="start" name="start">
<input type="button" onclick="calcRoute();" value="Go">
</form>
function calcRoute() {
var start = document.getElementById('start').value;
var end = "My Address in Rome";
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.TRANSIT
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
如果您单击 Go 按钮 (<input type="button">),它可以在每个浏览器上正常工作。如果我填写 <input type="text"> 并按键盘上的 ENTER (或者例如按 iOS 键盘中的 Go 按钮),则不会。所以:如果我按下input type="button",它会起作用,而不是如果我从键盘按下 ENTER。我怎样才能让它也这样工作?
编辑:请不要使用 jQuery 或其他框架。 :)
【问题讨论】:
-
为什么不使用提交按钮,为什么使用内联javascript?
-
嗯,如果我将其更改为
<input type="submit">仍然不起作用。内联js是什么意思? :) -
他的意思是
onclick="calcRoute();"。出于与内联样式类似的原因,这不受欢迎。我们通过在窗口加载中绑定事件处理程序来避免内联 javascript,或者如果使用 jquery,则准备好文档。但我们应该在这里回答你的问题,而不是批评你的代码风格。
标签: javascript html onclick dom-events buttonclick