2015-07-13 78 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進行驗證。