我有兩種形式的頁面。我在頂部有一個A型的單一形式,然後我有一個或多個B型的形式。Javascript模塊模式可以用於單身人士,還可以用於實例化多次的對象嗎?
我用模塊模式+ jQuery來連線了所有的事件上我的形式,處理驗證,AJAX調用等
這是定義一個單,如形式A的最佳/有效的方式,和一個可重用的對象類,如Form B?他們非常相似,我不確定是否需要使用對象prototype
屬性,new
或其他模式。一切似乎都適用於我,但我擔心我錯過了一些關鍵錯誤。
Form A
的JavaScript看起來像這樣:
var MyProject.FormA = (function() {
var $_userEntry;
var $_domElementId;
var validate = function() {
if($_userEntry == 0) {
alert('Cannot enter 0!');
}
}
var processUserInput = function() {
$_userEntry = jQuery('inputfield', $_domElementId).val();
validate();
}
return {
initialize: function(domElementId) {
$_domElementId = domElementId;
jQuery($_domElementId).click(function() {
processUserInput();
}
}
}
})();
jQuery(document).ready(function() {
MyProject.FormA.initialize('#form-a');
});
Form B
,這是初始化一個或多次,是指像這樣:
var MyProject.FormB = function() {
var $_userEntry;
var $_domElement;
var validate = function() {
if($_userEntry == 0) {
alert('Cannot enter 0!');
}
}
var processUserInput = function() {
$_userEntry = jQuery('inputfield', $_domElement).val();
validate();
}
return {
initialize: function(domElement) {
$_domElement = domElement;
jQuery($_domElement).click(function() {
processUserInput();
}
}
}
};
jQuery(document).ready(function() {
jQuery(".form-b").each(function() {
MyProject.FormB().initialize(this);
});
});