Javascript 如何防止Enter键提交表单
我的页面上有一个输入字段(type=text)。我使用引导并使用下一个html代码设置字段样式:Javascript 如何防止Enter键提交表单,javascript,html,meteor,Javascript,Html,Meteor,我的页面上有一个输入字段(type=text)。我使用引导并使用下一个html代码设置字段样式: <form fole="form"> <div class="form-group"> <input type="text" class="form-control" id="add-bookmark" value placeholder="Enter URL"> </div> </form> 当我按下输入
<form fole="form">
<div class="form-group">
<input type="text" class="form-control" id="add-bookmark" value placeholder="Enter URL">
</div>
</form>
当我按下输入字段中的任何按钮时,我会在控制台中获得键代码(如我所愿)。但是如果我按Enter键,控制台日志将没有任何内容,我的页面将被重新加载
看起来我的问题的原因在表单标签中。如果我去掉它,一切正常。我需要做什么?删除表单标签或防止在我按Enter键时重新加载页面?如果答案是第二个,我该怎么做?页面没有被“重新加载”,而是被提交,这是当您关注表单(选择表单中的输入字段)并按enter键时的默认行为。如何防止这种情况,好吧,将此添加到您的表单声明中:
<form name="myForm" onsubmit="return false;">
或者,如果您希望在提交前验证输入字段,则可以使用单独的函数为您执行验证:
<form name="myForm" onsubmit="return validate();">
function validate()
{
//pur you validation code here
return true;
}
函数验证()
{
//请在这里输入验证代码
返回true;
}
至于密钥日志,实际上您将在日志中获得Enter,但问题是,当您点击Enter时,您的brwoser将执行的第一个操作是提交表单,因此将开始发送新的http请求,并开始从服务器传输信息。当这种情况发生时,您的浏览器插件(Firebug、console等)将暂停片刻,并等待新页面加载。我不确定这有多准确,但这是我如何理解它的 检查e.preventDefault();这会很有用。如果你不想要表单的行为,不要使用表单。如果你允许我问,如果你不想提交表单,为什么要使用表单?@Joraid,我不确定我是否需要表单。我在Bootstrap站点上看到的示例使用表单标记。我想我不能使用表单标签。谢谢,没问题。我假设您希望在某个时候将用户输入发送到服务器,因此如果是这样,您可以使用表单或发出Ajax请求。我刚刚修复了它,它是可见的:)
<form name="myForm" onsubmit="return validate();">
function validate()
{
//pur you validation code here
return true;
}