我正在使用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。
答案 0 :(得分:4)
您必须将功能分配给onsubmit
,而不是字符串:
form.onsubmit = validateMyForm;
不要将 DOM属性与 HTML属性混淆。写点像
<form onsubmit="return foo();">
将(大致)等同于
form.onsubmit = function(event) {
return foo();
};
使用DOM时。
答案 1 :(得分:0)
您不能将函数放入字符串中。
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.
}
答案 2 :(得分:0)
您可以直接在required
上使用HTML5的input
属性,如下所示:
<input type="text" name="lastname" required>
这将导致html5在提交之前验证字段。 根据您要验证的数据类型,还有其他几个属性可用于验证。
无需使用javascript进行验证。