2010-07-22 4 views
2

Я хочу создать объект, который может выполнять все действия, необходимые моей форме - он может проверить форму, отправить форму и т. Д. Я хочу, чтобы javascript выполнял все эти вещи. я больше не хочу писать один и тот же код несколько раз в процедуре javascript в глобальном пространстве имен. Я хочу создать объект Javascript для обработки этих функций формы, и я хочу, чтобы все было в пространстве имен, чтобы избежать конфликтов.как я могу создать объект javascript для HTML-формы

Мне нелегко понять, как работает Javascript OO по сравнению с другим языком с классическим наследованием против наследования прототипов. может ли кто-нибудь показать мне, как создать класс, а затем создать экземпляр двух объектов этого класса и связать каждую из них с двумя одинаковыми формами на одной странице?

Я смотрю шаблон модуля, но, похоже, только для одного синглета.

спасибо, если кто-нибудь может помочь

+2

Возможно, это уже помогает: https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects –

ответ

3

Не изобретайте велосипед. Если вы хотите выполнить проверку формы и отправить ее на основании проверки, вы можете попробовать использовать jQuery и jQuery validation.

Чтобы понять прототип на базе модели OO JavaScript, Есть много ресурсов:

  1. Javascript: The world's most misunderstood programming language (начало здесь - это Дуглас Crockford)
  2. Introduction to Object Oriented Programming in Javascript (от Центра разработчиков Mozilla)
+0

спасибо за ссылки, mozilla выглядит лучше, чем большинство обучающих программ, которые я вижу до сих пор. к сожалению, большинство из них показывают только простые примеры, но я не вижу, как перейти от глобального пространства имен к классам с именами. я продолжу читать исходные источники u, прежде чем возвращаться с большим количеством вопросов - может быть, станет ясно. – JCm

+0

Вы можете иметь форму пространства имен через шаблон модуля. Конечно, это означает, что у вас есть только синглтон. В большинстве случаев это должно быть то, что вам нужно. В противном случае вы можете прибегнуть к использованию объектных литералов. Другим способом пространства имен является «var my = {}; var my.namespace = {}; var my.namespace.myFunc = function() {...}; 'IMO шаблон модуля лучше, потому что он обеспечивает инкапсуляцию. Будьте осторожны. Распространение имен и создание объектов - это две разные вещи. –

Смежные вопросы