Программирование > JavaScript & JScript

совпадение имен

<< < (3/3)

Shade_Wolfen:
Ты тогда пройдешься по вложенным элементам, а нужно изменить как раз корневой - форму, но как ни крути, он в упор не хочет видеть свойство, если есть элемент с таким-же именем.

html_coder:
Ну вот я покрутил вроде как и накрутил )))


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
function check()
{
//Объект - форма
HTMLFormElement = document.forms[0];

/*
* Объект input для IE, если надо для FF это будет HTMLFormElement.childNodes[1]
* По всей видимости это происходит из-за того, что они по-разному строят дерево документов
* Т.е. для того,  чтобы достичь совместимости я думаю лучше всего убрать перенос строки после тега <form ...>
*/
firstInput = HTMLFormElement.childNodes[0];

//Удаляем объект <input name="action" type="hidden" value="Add"> из дерева документа вообще!
HTMLFormElement.removeChild(firstInput);

//Меняем action у формы
HTMLFormElement.action = \'any.php\';

//А вот здесь вновь его восстанавливаем его обратно, чтобы он был после сабмита
firstInput = document.createElement(\'input\');

//Устаналиваем атрибуты обратно в старые значения
firstInput.setAttribute(\'name\', \'action\');
firstInput.setAttribute(\'value\', \'Add\');
firstInput.setAttribute(\'type\', \'hidden\');

//Добавляем созданный элемент к форме
HTMLFormElement.appendChild(firstInput);

//Submit формы
HTMLFormElement.submit();
}
</script>
</head>
<body>
<form action="<?=$_SERVER[\'PHP_SELF\']?>">
<input name="action" type="hidden" value="Add">
<input name="subm_btn" type="button" value="submit"onclick="check()">
</form>
</body>
</html>

html_coder:
А вот родился просто супер короткий вариант функции check, работающий в IE и FF (подсказали соседи :D)

   function check ()
   {
      var HTMLFormElement = document.forms[0];
      form_action_attribute = HTMLFormElement.getAttributeNode(\'action\');
      form_action_attribute.value = \'any.php\';
      HTMLFormElement.submit();
   }

teq:
))) спасибо большое, все работает отлично
IE, FF, Opera
))

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии