javascript - 动态分配 onsubmit 验证器
问题描述
在我的表格中,我有以下内容
<script>
function validate(form)
{
if(form.xyz.value=='') return false;
return true;
}
</script>
<form onsubmit="return validate(this)">
<input name="xyz">
<input type="submit" value="submit">
</form>
出于某种原因,我必须动态分配我的 onsubmit 侦听器。
我可以定义
document.forms[0].addEventListener('submit',validate);
但是如何动态实现return validate(this)
(我需要纯 JavaScript,而不是 jQuery)
解决方案
传递给事件处理函数的第一个参数是Event 对象。如果要传递不同的值,则创建一个新函数并显式传递它。
function validateEventHandler(event) {
return validate(this);
}
document.forms[0].addEventListener('submit',validateEventHandler);
......但我会重写validate
,以便它只是使用this
而不是form
论点。
推荐阅读
- git - git - 拉入另一个分支已更新的工作
- google-app-engine - Stackdriver 在有“google-api-services-compute”时监控 nosuchmethoderror
- gradle - build.gradle.kts 语法糖——解释
- mysql - 在处理 `ProgrammingError` 的`except` 语句后仍然收到错误消息
- r - 在 R 中选择二进制向量中的位置(我怎样才能固定?)
- c# - c++ ctre regex 会比 c# 通常的 regex 有更多的性能吗?
- javascript - 在同一页面上使用两个 Connected Carousels (jCarousel) 实例
- regex - 具有不同空格的正则表达式
- spring - 为什么没有“列索引超出范围:1,列数:0。”的情况下无法执行休眠查询?
- python - 通过 ldap (python) 连接到 Oracle 数据库