Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   добавить метод в объект Form (https://javascript.ru/forum/dom-window/29151-dobavit-metod-v-obekt-form.html)

aleks_lv 17.06.2012 16:33

добавить метод в объект Form
 
Почету не могу добавить свой метод к объекту Form
Form.prototype.nvalue=function()
 { alert("J work");

 }

Octane 17.06.2012 17:46

HTMLFormElement или вы про какую форму?

aleks_lv 17.06.2012 17:49

да

denis_orlov 18.06.2012 00:15

не нужно трогать свойство прототип, если это не функция конструктор для создания объекта
<form id="my_form"></form>
<script>
my_form.nvalue=function()
 { 
  alert( this.id+" works");
 }
my_form.nvalue();
</script>

Octane 18.06.2012 00:57

Цитата:

Сообщение от denis_orlov
не нужно трогать свойство прототип, если это не функция конструктор для создания объекта

А HTMLFormElement что тогда? :)

denis_orlov 18.06.2012 01:09

Цитата:

Сообщение от Octane (Сообщение 182199)
А HTMLFormElement что тогда? :)

HTML Element, полагает КЭП :)

вот так будет работать, например:
<script>
var Form=function(){};
Form.prototype.nvalue=function()
 { alert("J work");

 }

var myform = new Form();
myform.nvalue();
</script>

Octane 18.06.2012 01:16

Цитата:

Сообщение от denis_orlov
HTML Element, полагает КЭП

Да ладно?
alert(typeof HTMLFormElement)

aleks_lv 18.06.2012 02:36

HTMLFormElement.prototype.nvalue работает .........

Octane 18.06.2012 02:57

Для полноты темы уточним, что в старых версиях IE нет доступа к конструкторам DOM-элементов, а denis_orlov, вероятно, хотел рассказать нам, что изменять прототипы стандартных конструкторов не очень хорошо, хотя это в большей степени относится к Object.prototype, вряд ли что-то может помешать в цикле for-in по свойствам объекта-формы, да и в современных браузерах с помощью defineProperty можно создавать НЕenumerable-свойства.


Часовой пояс GMT +3, время: 02:13.