Программирование => JavaScript & JScript => Тема начата: teq от 09 Апреля 2006, 14:08:43
Название: совпадение имен
Отправлено: teq от 09 Апреля 2006, 14:08:43
В процессе отправки формы мне нужно менять адрес. Что я делаю соотв в скрипте при помощи document.forms[0].action = "new url"; но в тексте есть и , которую необходимо сохранить. При наличии этой надписи обращение к action формы воспринимается на обращение к input action.
общий вид:
Название: совпадение имен
Отправлено: for_i_0 от 09 Апреля 2006, 18:43:36
изменить значение атрибута name в hidden.
Название: совпадение имен
Отправлено: teq от 09 Апреля 2006, 18:52:03
хехе )) ну этт-то понятно..только вот при изменение имени этого атрибута скрипт php (чужой, шифрованный, страшный) не хочет все это кушать. ((
Название: совпадение имен
Отправлено: html_coder от 10 Апреля 2006, 10:48:01
Возможно, то, что я сейчас предложу это изврат, но это рабочий вариант и если ты не можешь менять тот зашифрованный PHP скрипт, то он вполне тебе подойдёт, да и вообщем вполне нормальный способ.
Я сам часто сталкивался с такой проблемой, лучше конечно стараться не называть переменные внутри формы, так чтобы они совпадали с её свойствами или методами
Название: совпадение имен
Отправлено: Shade_Wolfen от 10 Апреля 2006, 17:24:03
Проще просто форме добавить id и этому id изменить атребут action.
Название: совпадение имен
Отправлено: html_coder от 10 Апреля 2006, 18:01:04
Shade_Wolfen если ты имеешь что надо у формы добавить атрибут id
т.е. id="my_form", а потом получить при помощи document.getElementById(\'my_form\') саму форму а следом и её атрибут, то поверь мне что это не изменит данной ситуации и работать всё равно не будет, можешь попробовать....
Название: совпадение имен
Отправлено: Shade_Wolfen от 10 Апреля 2006, 18:18:45
Точно, даже через getAttribute() выдает объект, а не значение. Интересно проявляется он только в IE или нет.
Название: совпадение имен
Отправлено: teq от 10 Апреля 2006, 19:39:08
html_coder слу, спасиб. еще такой вопрос: это с применением XML? У меня он спотыкается по неизвестной пока причине (не исключая версию кривых рук)) ) на строке с заданием пустой строки в name.. может (если XML) еще какую-то запись вверх добавить надо? не приходилось с ним работать.( в чем может быть причина?
Название: совпадение имен
Отправлено: html_coder от 11 Апреля 2006, 10:07:50
Это не XML, это DOM + JavaScript. Я его проверял только в FireFox, а потом посмотрел а IE, действительно спотыкается, сегодня попробую понять почему, вообще осёл это отдельная песня )))) О результатах сообщу...
Название: совпадение имен
Отправлено: hanslinger от 11 Апреля 2006, 10:20:32
А почему бы не пройтись циклом по forms[0].children?
Название: совпадение имен
Отправлено: Shade_Wolfen от 11 Апреля 2006, 13:09:53
Ты тогда пройдешься по вложенным элементам, а нужно изменить как раз корневой - форму, но как ни крути, он в упор не хочет видеть свойство, если есть элемент с таким-же именем.
Название: совпадение имен
Отправлено: html_coder от 11 Апреля 2006, 14:40:57
Ну вот я покрутил вроде как и накрутил )))
Untitled
Название: совпадение имен
Отправлено: html_coder от 11 Апреля 2006, 15:41:47
А вот родился просто супер короткий вариант функции 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 от 13 Апреля 2006, 13:33:55
))) спасибо большое, все работает отлично IE, FF, Opera ))