【发布时间】:2013-04-11 18:31:24
【问题描述】:
当我在输入字段中按下回车时,我想调用一个函数。问题是,它此时只是重新加载页面,而不调用 JavaScript。当我按下按钮时,JavaScript 可以正常工作。现在我想得到同样的结果,当我按下回车键时。
这是我的表格
<form onSubmit="changeView()">
<input type="text" value="London" name="region" id="region">
<input type="button" onClick="changeView()" name="mySubmit" value="Search" >
</form>
我也尝试将其放入文本字段onKeydown="Javascript: if (event.keyCode==13) changeView();
但这并没有真正帮助。 这是我的 JavaScript 函数
function changeView(){
var region = document.getElementById('region').value;
$.ajax({
type: 'GET',
url: 'webservice.php',
data: {region: region},
success: function(response, textStatus, XMLHttpRequest) {
alert("SUCCESS");
map.panTo(new L.LatLng(response[0].lat,response[0].lon));
}
});
return false;
}
【问题讨论】:
-
您需要阻止 keydown 事件传播。一旦你的 onkeydown 完成,输入仍然在系统中,并且会向上冒泡并提交表单。快速/肮脏的方法是在 onkeydown 结束时简单地做一个
return false;。
标签: javascript html submit enter