Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2014, 11:59
Новичок на форуме
Отправить личное сообщение для ercling Посмотреть профиль Найти все сообщения от ercling
 
Регистрация: 13.01.2011
Сообщений: 3

Почему jQuery не обрабатывает элементы со значением атрибутов "nodeType"
Здравствуйте!

Имеем форму
<form role="form" class="form-horizontal" id="addNEfrm" method="post" name="form">
    <div class="radio-inline">
        <input type="radio" name="nodeType" value="SGSN" id="btlSGSNradio">
        <label for="btlSGSNradio" class="btlnRLMPlabel">SGSN</label>
    </div>    

        <div class="modal-footer">
            <button type="button" class="btn btn-primary" id="addNodeButton">Add node</button>
        </div>
</form>


И JS
$(document).ready(function() {

  $('#addNodeButton').click(function(){
    $('#addNEfrm').submit();
  });

  $('#addNEfrm').submit(function(e){
      e.preventDefault();
    alert("asd");
      
  });

});


Ссылка на jsfiddle

Собственно, почему значения атрибутов name="nodeType" или id="nodeType" приводят к неработоспособности?

На jQuery версий младше 1.9.1 все работает.

Хочу разобраться какие имена нельзя присваивать атрибутам чтобы не иметь проблем в будущем.
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2014, 22:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ercling
Хочу разобраться какие имена нельзя присваивать атрибутам чтобы не иметь проблем в будущем.
Интересный случай. Имена (ID или NAME) контролов формы маппятся на свойства формы. Причем при возникновении конфликтов начальные свойства затираются. Мне кажется это неправильным, тем не менее спецификация такой случай даже не принимает во внимание.

Само собой элементы с именами nodeType, tagName могут сломать код.
А ведь есть и более приближенные к реальным случаи именования:
action, name, id, method, role - все это затрет собственные свойства формы, так что из js с ней будет невозможно работать (разве что только через getAttribute)

Маппинг элементов, имеющих id также идет и на объект window, но там хотя бы свойства не затираются, слава богу.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает на jQuery 1.4.4? pro10026 jQuery 13 06.03.2014 10:22
Заполнение input значением переменной с помощю jQuery barkov Общие вопросы Javascript 2 19.04.2012 15:47
Элементы управления на jquery Veon Элементы интерфейса 2 01.06.2011 20:37
Почему jQuery является одновременно функцией и объектом? FINoM jQuery 3 14.02.2011 02:44
Почему jQuery плагины? a.vovchuk jQuery 9 04.01.2011 19:03