在 JavaScript 中使用表单绑定事件
Bind event with form in JavaScript
我正在使用 JavaScript 创建 form
。喜欢下面
var form = document.createElement('form');
form.action = 'abc.com';
form.noValidate = true;
form.id = 'myForm';
form.onsubmit = 'return validateMyForm();';
我正在尝试添加在提交前检查必填字段的验证器 form
。所以我关注JavaScript to stop form submission。但它没有将事件附加到 form
。我怎样才能在 JavaScript 中做到这一点?
没有JQuery请。
您必须将 函数 分配给 onsubmit
,而不是字符串:
form.onsubmit = validateMyForm;
不要混淆 DOM 属性 和 HTML 属性 。写一些类似
的东西
<form onsubmit="return foo();">
将(大致)等同于
form.onsubmit = function(event) {
return foo();
};
使用 DOM 时。
不能将函数放入字符串中。
form.onsubmit = function() {
var valid = true;
// TODO: form validation
// Not valid, return false
if(!valid) {
alert('Please correct the following errors:');
return false;
}
// valid, do nothing.
}
您可以直接在 input
上使用 HTML5 的 required
属性,如下所示:
<input type="text" name="lastname" required>
这将导致 html5 在提交前验证字段。
根据您要验证的数据类型,还有其他几个属性也可用于验证。
无需使用 javascript 进行验证。
我正在使用 JavaScript 创建 form
。喜欢下面
var form = document.createElement('form');
form.action = 'abc.com';
form.noValidate = true;
form.id = 'myForm';
form.onsubmit = 'return validateMyForm();';
我正在尝试添加在提交前检查必填字段的验证器 form
。所以我关注JavaScript to stop form submission。但它没有将事件附加到 form
。我怎样才能在 JavaScript 中做到这一点?
没有JQuery请。
您必须将 函数 分配给 onsubmit
,而不是字符串:
form.onsubmit = validateMyForm;
不要混淆 DOM 属性 和 HTML 属性 。写一些类似
的东西<form onsubmit="return foo();">
将(大致)等同于
form.onsubmit = function(event) {
return foo();
};
使用 DOM 时。
不能将函数放入字符串中。
form.onsubmit = function() {
var valid = true;
// TODO: form validation
// Not valid, return false
if(!valid) {
alert('Please correct the following errors:');
return false;
}
// valid, do nothing.
}
您可以直接在 input
上使用 HTML5 的 required
属性,如下所示:
<input type="text" name="lastname" required>
这将导致 html5 在提交前验证字段。 根据您要验证的数据类型,还有其他几个属性也可用于验证。
无需使用 javascript 进行验证。