Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обращение по именам
 
 автор: mikado3333   (11.02.2013 в 16:22)   письмо автору
 
 

Приветствую! Подскажите в чем проблема. При вызове фун-и " 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 = "бла бла"?

  Ответить  
 
 автор: ЯСА   (11.02.2013 в 18:01)   письмо автору
 
   для: 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!')">

  Ответить  
 
 автор: mikado3333   (11.02.2013 в 18:26)   письмо автору
 
   для: ЯСА   (11.02.2013 в 18:01)
 

ЯСА, у меня и name ="R2". Я считал что обращаюсь к див, а затем к форме т.к. она находиться в нем.


document.NA.submit (); 


Ошибка Uncaught TypeError: Object #<HTMLCollection> has no method 'submit'

а вынув из DIV работает.

  Ответить  
 
 автор: ЯСА   (11.02.2013 в 21:01)   письмо автору
 
   для: mikado3333   (11.02.2013 в 18:26)
 

вообще у вас беда с наименованиями

1. na_daty - это у вас имя функции, верно?
тогда почему это же na_daty используется в качестве имени окна в атрибуте target тега <form>?

2. что за name="СИМВОЛ НОМЕРА" для скрытого <input>?
вы не в курсе, что имена должны содержать ТОЛЬКО латинские буквы любого регистра, арабские цифры и символ подчёркивания?
символ номера № к перечисленному выше НЕ ОТНОСИТСЯ
-----------

к значениям имён и идентификаторов надо относиться вдумчиво, а не писать любую фигню от балды
представьте, что вы называете своего собственного ребёнка...

  Ответить  
 
 автор: mikado3333   (12.02.2013 в 00:17)   письмо автору
 
   для: ЯСА   (11.02.2013 в 21:01)
 

ЯСА, видно я Вас до пек ))) Вы разнесли меня по наименованиям, но не ответили на вопрос- почему при вложенности формы в DIV метод обращения document.formname.sumbit () не проходит. Так что считаю вопрос открытым

  Ответить  
 
 автор: ЯСА   (12.02.2013 в 06:26)   письмо автору
 
   для: mikado3333   (12.02.2013 в 00:17)
 

ответ на свой вопрос вы получили
добавлю: document.имя_формы.submit () работает всегда и везде, вне зависимости от вложенности формы куда бы то ни было
-------

разумеется, если имя_формы у вас одновременно является именем окна, именем_функции, да ещё и именем_вашего_хомячка..., то браузер может и не понять - чего именно от него хотят
TypeError - это как раз ошибка типа данных

document.NA браузер не воспринимает как форму и, соответственно, не может её просабмитить
видимо, где-то под именем NA у вас определено что-то иное
--------

ещё раз:
к наименованиям следует относительно вдумчиво и тщательно

  Ответить  
 
 автор: mikado3333   (12.02.2013 в 08:52)   письмо автору
 
   для: ЯСА   (12.02.2013 в 06:26)
 

Разобрался. Все оказалось намного проще))) Ошибка была в том что я из Div при помощи innerHTML копировал форму в другой див и у меня получались две формы с одинаковым именем
(
>видимо, где-то под именем NA у вас определено что-то иное
).
Спасибо что показали где копать, ЯСА!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования