javascript - 输入键检测+空值则不应提交表单

标签 javascript html dom-events

我有两个文本字段为必填字段,其余字段都是正常的。现在我必须检测回车键并提交表单。我已经这样做了,但问题是,当发生错误时(例如:字段为空),我必须停止提交表单,但表单仍在提交。

<input autocomplete="off"  type="text" id="first_name"  size="10"
onkeypress="if(event.keyCode == 13){ 
document.getElementById('btn_search').click();
return false;}">

这里btn_search是搜索按钮的id,我必须执行它。但当字段为空时,不应提交表单。给我一些建议吗?

即使我在 JavaScript 文件中创建单独的函数,我也会得到相同的响应。 事实上,我在过去 48 小时内就遇到了这个问题。

最佳答案

我建议您在表单的 onsubmit 操作中执行验证,而不是处理输入中的按键:

<form action="/foo" onsubmit="return validate();">
    <input autocomplete="off" type="text" id="first_name" size="10" />
    <input type="submit" value="Search" />
</form>

在您的 validate 函数中:

function validate() {
    var firstName = document.getElementById('first_name').value;
    var isFormValid = (firstName != '');

    return isFormValid;
}

关于javascript - 输入键检测+空值则不应提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675572/

相关文章:

javascript - react /功能组件/ Prop 改变/getDerivedStateFromProps

javascript - 可以具有相同 "name"的输入属性

javascript - 在 Vue.js 中切换过滤结果时的奇怪行为

javascript - 用于点击跟踪的高阶 React 组件

javascript - Microsoft JScript 运行时错误

javascript d3.js - 散点图上点的多次转换

javascript获取客户端ip

javascript - 如何使用 javascript 在 DIV 框内写入

php - 网络可访问性 - 需要建议

html - 使用 XSLT 独立插入开始和结束 HTML 标签