Программирование > JavaScript & JScript
совпадение имен
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
))
Навигация
Перейти к полной версии