2015-07-13 43 views
0

我使用Javascript创建form。像下面用Javascript中的窗体绑定事件

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。

回答

4

你必须一个功能分配给onsubmit,而不是一个字符串:

form.onsubmit = validateMyForm; 

不要混淆DOM属性HTML属性。与DOM工作时写的东西像

<form onsubmit="return foo();"> 

将(大致)相当于

form.onsubmit = function(event) { 
    return foo(); 
}; 

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. 
} 
0

您可以直接使用HTML5的required属性您input像这样:

<input type="text" name="lastname" required> 

这将导致HTML5提交之前验证字段。 根据您要验证的数据类型,还可以使用其他几个可用于验证的属性。

无需使用JavaScript进行验证。