Javascript 在Ajax中使用enter按钮提交表单
我的问题是,当我单击我的按钮时,它将正常工作,但如果我使用enter按钮,它将尝试提交表单并在URL中附加?var=x 我的两项投入:Javascript 在Ajax中使用enter按钮提交表单,javascript,jquery,ajax,Javascript,Jquery,Ajax,我的问题是,当我单击我的按钮时,它将正常工作,但如果我使用enter按钮,它将尝试提交表单并在URL中附加?var=x 我的两项投入: <input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()"> <input type="button" name="submitbtn" onclick="sho
<input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()">
<input type="button" name="submitbtn" onclick="showUser(users.value)">
你可以查看我的消息来源。如果你输入1或2并点击按钮,你会得到结果,但是如果你点击回车键,它不会给你结果,并且会像我说的那样改变URL
您使用的是
document.getElementById
,因此请为按钮指定一个id
像这样
<input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()">
<input type="button" id="submitbtn" name="submitbtn" onclick="showUser(users.value)">
这将适用于您使用的
document.getElementById,因此请为您的按钮指定一个id
像这样
<input type="text" name="users" onkeydown="if (event.keyCode == 13) document.getElementById('submitbtn').click()">
<input type="button" id="submitbtn" name="submitbtn" onclick="showUser(users.value)">
这将适用于您我假设您将有一个只有两个输入元素的表单。使用jQuery,您可以执行以下操作:
像这样的事情应该让您开始,我需要注意,但是,这段代码未经测试,因为我无法使用AJAX进行跨站点请求
<script type="text/javascript">
$(function(){
$("#username").on("keypress", function(e){
if(e.keyCode==13){ //keyCode value of 13 is for the enter key
$.get("getusers.php" $("#userSearchForm").serialize(), function(data){
if(data){
$("shoutboxtxt").text(data);
}
}, "text");
}
}
});
</script>
<form id="userSearchForm">
<input type="text" name="users" id="username" />
<input type="button" name="submitbtn" id="submitbtn" value="Search" />
</form>
<div id="shoutboxtxt"><b>Person info will be listed here.</b></div>
$(函数(){
$(“#用户名”)。在(“按键”,功能(e){
如果(e.keyCode==13){//keyCode值为13表示回车键
$.get(“getusers.php”$(“#userSearchForm”).serialize(),函数(数据){
如果(数据){
$(“shoutboxtxt”).text(数据);
}
}“文本”);
}
}
});
此处将列出人员信息。
联机此处:我假设您将有一个只包含两个输入元素的表单。使用jQuery,您可以执行以下操作:
像这样的事情应该让您开始,我需要注意,但是,这段代码未经测试,因为我无法使用AJAX进行跨站点请求
<script type="text/javascript">
$(function(){
$("#username").on("keypress", function(e){
if(e.keyCode==13){ //keyCode value of 13 is for the enter key
$.get("getusers.php" $("#userSearchForm").serialize(), function(data){
if(data){
$("shoutboxtxt").text(data);
}
}, "text");
}
}
});
</script>
<form id="userSearchForm">
<input type="text" name="users" id="username" />
<input type="button" name="submitbtn" id="submitbtn" value="Search" />
</form>
<div id="shoutboxtxt"><b>Person info will be listed here.</b></div>
$(函数(){
$(“#用户名”)。在(“按键”,功能(e){
如果(e.keyCode==13){//keyCode值为13表示回车键
$.get(“getusers.php”$(“#userSearchForm”).serialize(),函数(数据){
如果(数据){
$(“shoutboxtxt”).text(数据);
}
}“文本”);
}
}
});
此处将列出人员信息。
在线:@Ajgreene,5839707上的答案显示了如何使用jQuery提交事件,这将是一种更干净的方式来处理这种情况。@Ajgreene,5839707上的答案显示了如何使用jQuery提交事件,这将是一种更干净的方式来处理这种情况。啊,废话,我刚刚注意到我用了名字而不是id…我是个白痴。一个c、 让我试试看。这就对了。谢谢,哈哈。这是一个简单的错误。我会尽可能地将其标记为答案。@user1817082编码没问题:)同时,作为将来的参考。我不得不将onkeydown更改为:onkeydown=“if(event.keyCode==13){document.getElementById('btnSubmit')。click();event.returnValue=false;event.cancel=true;}”啊,废话,我刚刚注意到我用名字代替id…我是个白痴。等一下,让我试试。这就回答了。谢谢,哈哈。这是个简单的错误。我会在我能回答的时候把它标记为答案。@user1817082没问题,快乐编码:)还有,供将来参考。我必须将onkeydown更改为:onkeydown=“if(event.keyCode==13){document.getElementById('btnSubmit')。单击();event.returnValue=false;event.cancel=true;}”此外,我需要指出,您在脚本标记中引用了jQuery源代码,但并没有真正使用它。现在是开始使用它的好时机。我正在考虑这个网站。编辑:忘记了包含站点的链接。另外,我需要向您指出,您在脚本标记中引用了jQuery源代码,但并没有真正使用它。现在是开始使用它的好时机。我正在考虑这个网站。编辑:忘记将链接包含到您的站点。