Joe*_*Yan 49 javascript textbox keypress onkeypress dom-events
在我的HTML页面中,我有一个文本框供用户输入搜索关键字.当他们单击搜索按钮时,JavaScript函数将生成一个URL并在新窗口中运行.
当用户通过鼠标单击搜索按钮时,JavaScript函数可正常工作,但当用户按下ENTER键时没有响应.
function searching(){
var keywordsStr = document.getElementById('keywords').value;
var cmd ="http://XXX/advancedsearch_result.asp?language=ENG&+"+ encodeURI(keywordsStr) + "&x=11&y=4";
window.location = cmd;
}
Run Code Online (Sandbox Code Playgroud)
Try*_*ove 84
正如scoota269所说,你应该使用onSubmit,因为在文本框上按下输入将最像是触发表单提交(如果在表单内)
<form action="#" onsubmit="handle">
<input type="text" name="txt" />
</form>
<script>
function handle(e){
e.preventDefault(); // Otherwise the form will be submitted
alert("FORM WAS SUBMITTED");
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果你想在输入字段上有一个事件,那么你需要确保你的handle()返回false,否则表单将被提交.
<form action="#">
<input type="text" name="txt" onkeypress="handle(event)" />
</form>
<script>
function handle(e){
if(e.keyCode === 13){
e.preventDefault(); // Ensure it is only this code that rusn
alert("Enter was pressed was presses");
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
bip*_*pen 23
使用onkeypress.检查按下的键是否输入(keyCode = 13).如果是,请调用该searching()函数.
HTML
<input name="keywords" type="text" id="keywords" size="50" onkeypress="handleKeyPress(event)">
Run Code Online (Sandbox Code Playgroud)
JAVASCRIPT
function handleKeyPress(e){
var key=e.keyCode || e.which;
if (key==13){
searching();
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个显示它在行动的片段:
document.getElementById("msg1").innerHTML = "Default";
function handle(e){
document.getElementById("msg1").innerHTML = "Trigger";
var key=e.keyCode || e.which;
if (key==13){
document.getElementById("msg1").innerHTML = "HELLO!";
}
}Run Code Online (Sandbox Code Playgroud)
<input type="text" name="box22" value="please" onkeypress="handle(event)"/>
<div id="msg1"></div>Run Code Online (Sandbox Code Playgroud)
Gib*_*olt 12
使用event.key而不是event.keyCode!
function onEvent(event) {
if (event.key === "Enter") {
// Submit form
}
};
Run Code Online (Sandbox Code Playgroud)
试试这个....
HTML内联
onKeydown="Javascript: if (event.keyCode==13) fnsearch();"
or
onkeypress="Javascript: if (event.keyCode==13) fnsearch();"
Run Code Online (Sandbox Code Playgroud)
JavaScript的
<script>
function fnsearch()
{
alert('you press enter');
}
</script>
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以使用javascript
ctl.attachEvent('onkeydown', function(event) {
try {
if (event.keyCode == 13) {
FieldValueChanged(ctl.id, ctl.value);
}
false;
} catch (e) { };
return true
})
Run Code Online (Sandbox Code Playgroud)