Получить атрибут «name» формы в Javascript, в то время как существует вход с именем «name» - PullRequest
5 голосов
/ 15 октября 2010

У меня есть что-то вроде этой структуры HTML:

   <form name="myvalue" id="hello">
      <input type="text" name="name" />
    </form>

Я бы хотел получить атрибут имени формы в Javascript с помощью кросс-браузерного решения.

Очевидно,

document.getElementById("hello").name 

не будет работать, поскольку вернет соответствующий объект ввода.

В chrome работает следующий код, но мне не удалось найти эквивалент для Internet Explorer 8

document.getElementById("hello").getAttribute("name")

Заранее спасибо!

Frédéric

Ответы [ 2 ]

10 голосов
/ 15 октября 2010

Я думаю, это должно сработать

document.getElementById("hello").attributes["name"].value;

тесты нормально в IE8, это все, что у меня есть. вам, возможно, придется выполнить некоторую проверку браузера и выбрать подход при необходимости.

правок: на самом деле, ваш пример отлично работает и для меня в IE8. но не ie7.

0 голосов
/ 15 октября 2010

Попробуйте:

function getFormName (formElement) {
  if (!formElement) return;
  var a=formElement.attributes;
  for (var i=a.length; i--;) {
    if (a[i].name=='name') return a[i].value;
  }
}

Не уверен, что это будет работать в IE.Должен работать везде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...