|
|
|
| Приветствую! Подскажите в чем проблема. При вызове фун-и " na_daty " отправка формы не происходит. Не находит вложенную в DIV форму (NA). Через id работает.
function na_daty ()//кнопка на дату запуск расчета
{
document.R2.NA.submit();
}
<div name="R2" id="R2" style ="display:none;">
<input type="button" id="svd" onclick="svodka();" value="СВОДКА" class="button08">
<input type="button" id="nd" onclick="na_daty();" value="НА ДАТУ" class="button10">
<form method ="post" action = "R\2\2.php" name="NA" id="R2_na_daty" target="na_daty">
<input name="nachalo" value = "" class ="input11">
<input name="konec" value = "" class ='input12'>
<input type="hidden" name="№" value=<?=$_№ ?>>
</form>
</div>
|
2. еще вопросик можно ли обращаться по имени из окна в окно зная их имена. При этом у них одно родительское окно. к Примеру имена "win1" и 'win2'. Обращение такого рода из окна win1 ->
win2.document.getElementById("svd"). value = "бла бла"? | |
|
|
|
|
|
|
|
для: mikado3333
(11.02.2013 в 16:22)
| | 1. через document только к форме можно обращаться по её имени (по значению атрибута name)
2. а вы пытаетесь обратиться к тегу <div>, а не к форме, да ещё по его идентификатору (по значению атрибута id)
для обращения по идентификатору существует метод document.getElementById ('значение_id')
3. и вообще - зачем вам обращаться к <div>'у?
обращайтесь напрямую к форме: строку document.R2.NA.submit (); замените на document.NA.submit ();
-----
4. обращаться к окнам по их именам нельзя
обратиться к дочернему окну можно только в том единственном случае, если это дочернее окно будет открыто методом window.open () и это открытое окно будет сохранено в переменной
пример:
<body onload="myWind = window.open ()">
<input type="button" value="Go!" onclick="myWind.document.write ('Hello, world!')">
|
| |
|
|
|
|
|
|
|
для: ЯСА
(11.02.2013 в 18:01)
| | ЯСА, у меня и name ="R2". Я считал что обращаюсь к див, а затем к форме т.к. она находиться в нем.
Ошибка Uncaught TypeError: Object #<HTMLCollection> has no method 'submit'
а вынув из DIV работает. | |
|
|
|
|
|
|
|
для: mikado3333
(11.02.2013 в 18:26)
| | вообще у вас беда с наименованиями
1. na_daty - это у вас имя функции, верно?
тогда почему это же na_daty используется в качестве имени окна в атрибуте target тега <form>?
2. что за name="СИМВОЛ НОМЕРА" для скрытого <input>?
вы не в курсе, что имена должны содержать ТОЛЬКО латинские буквы любого регистра, арабские цифры и символ подчёркивания?
символ номера № к перечисленному выше НЕ ОТНОСИТСЯ
-----------
к значениям имён и идентификаторов надо относиться вдумчиво, а не писать любую фигню от балды
представьте, что вы называете своего собственного ребёнка... | |
|
|
|
|
|
|
|
для: ЯСА
(11.02.2013 в 21:01)
| | ЯСА, видно я Вас до пек ))) Вы разнесли меня по наименованиям, но не ответили на вопрос- почему при вложенности формы в DIV метод обращения document.formname.sumbit () не проходит. Так что считаю вопрос открытым | |
|
|
|
|
|
|
|
для: mikado3333
(12.02.2013 в 00:17)
| | ответ на свой вопрос вы получили
добавлю: document.имя_формы.submit () работает всегда и везде, вне зависимости от вложенности формы куда бы то ни было
-------
разумеется, если имя_формы у вас одновременно является именем окна, именем_функции, да ещё и именем_вашего_хомячка..., то браузер может и не понять - чего именно от него хотят
TypeError - это как раз ошибка типа данных
document.NA браузер не воспринимает как форму и, соответственно, не может её просабмитить
видимо, где-то под именем NA у вас определено что-то иное
--------
ещё раз: к наименованиям следует относительно вдумчиво и тщательно | |
|
|
|
|
|
|
|
для: ЯСА
(12.02.2013 в 06:26)
| | Разобрался. Все оказалось намного проще))) Ошибка была в том что я из Div при помощи innerHTML копировал форму в другой див и у меня получались две формы с одинаковым именем
(
>видимо, где-то под именем NA у вас определено что-то иное
).
Спасибо что показали где копать, ЯСА! | |
|
|
|