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

HTML+CSS+JavaScript

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

 

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

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

тема: Как обратиться к элементу нужной формы
 
 автор: TetRiska   (14.12.2009 в 23:36)   письмо автору
 
 

Всем привет. Хмм..чет не пойму как обратиться к элементу первой формы (к кнопке Добавить), т.е. нажать на нее после нажатия кнопки Очистить во второй форме. Пример:
Форма 1
<form id="choice_btn" action="index.php" method="post">
<input id="add" name="add" src="images/1.png" type="image" onclick="submit()" value="Добавить" title="Добавить" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="edit" src="images/2.png" type="image" onclick="submit()" value="Редактировать" title="Редактировать" />
 </form>

Форма 2
<form action="" method="post">
<input name="reset" type="button" value="Очистить" onClick="document.forms['choice_btn'].submit();" />
</form>

submit() срабатывает, но мне надо обратиться к Добавить Форма 1 и нажать на нее. Заранее благодарен.

Черттттттт........не в ту категорию написал :( Прошу перенести.

  Ответить  
 
 автор: sim5   (15.12.2009 в 05:16)   письмо автору
 
   для: TetRiska   (14.12.2009 в 23:36)
 

1. Если нажать на кнопку input type image, то произойдет отправление формы и без вашего указания. Событие onclick="submit()" выбросить из этих кнопок.
2. "Добавить"/"Редактировать" как-то проверяются на сервере?
3. Кнопка RESET сбрасывает выбор в форме, для чего она у вас в форме 2, да еще для отправки формы 1, это.... Вам что нужно собственно?

  Ответить  
 
 автор: TetRiska   (15.12.2009 в 14:50)   письмо автору
 
   для: sim5   (15.12.2009 в 05:16)
 

Проблема сейчас постала такая.
Форма 1
<form id="choice_btn" action="index.php" method="post">
<input id="add" name="add" type="submit" value="Добавить" title="Добавить" />
<input name="edit" src="images/2.png" type="image" onclick="submit()" value="Редактировать" title="Редактировать" />
</form>

Форма 2
<script>
function findInput(elementID)
{
var aInputs = choice_btn.getElementsByTagName('INPUT');
for (var i = 0; i < aInputs.length; i++)
{
   if (aInputs[i].name == elementID) {return aInputs[i];}
}
return null;
}
</script>

<form action="" method="post">
<input name="reset" type="button" value="Очистить"  onClick="findInput('add').click();" />
</form>

Отрабатывает нормально...Т.е. по нажатию на кнопку Очистить у нас инициализируется нажатие кнопки Добавить и Форма2 появляется

Идем дальше...

С выше приведенной Формы1 (первое сообщение) в ней не простая кнопка с типом submit, а картинка - image. При таком раскладе нажатие происходит, но Форма2 не появляется.

В чем заковырка?

Когда обычно нажимаю на кнопку-картинку пост выдает массив Array([add_x]=13;[add_y]=34), координаты зависят в какую область мы нажали...а когда скриптом пытаемся нажать, то получается, что массив такой Array([add_x]=0;[add_y]=0) и форма не отображается...Нулевые координаты, это левый верхний угол кнопки-картинки, и при таком нажатии просто нажатие игнорируется. Вот поэтому нужно нажать со смещением, т.е. передать координату. Собственно как?

  Ответить  
 
 автор: sim5   (15.12.2009 в 15:42)   письмо автору
 
   для: TetRiska   (15.12.2009 в 14:50)
 

Пока вы не нажмете на кнопку, никакой координаты вы не получите.
Зачем вторая форма вообще нужна?
А вот это как понимать: onClick="findInput('add').click();" ? Вы можете объяснить суть того, что здесь произойдет?

  Ответить  
 
 автор: TetRiska   (15.12.2009 в 18:02)   письмо автору
 
   для: sim5   (15.12.2009 в 15:42)
 

вопрос решен!)) как обычно я начал изобретать велосипед...без джаваскрипта обошлось.
<input type="submit" name="reset" value="Reset">
принимая форму проверять if(isset($_POST["reset"])) и загружать нужную форму

  Ответить  
 
 автор: sim5   (15.12.2009 в 18:10)   письмо автору
 
   для: TetRiska   (15.12.2009 в 18:02)
 

Нет, то что вы изобретали, это не велосипед, это была бомба!

  Ответить  
 
 автор: TetRiska   (16.12.2009 в 00:21)   письмо автору
 
   для: sim5   (15.12.2009 в 18:10)
 

и что там такого "бомбовского" ? :) к сожалению я еще не так силен в скрипте, чтобы нажать по фиксированной координате кнопке-картинке из другой формы

  Ответить  
 
 автор: TetRiska   (16.12.2009 в 00:26)   письмо автору
 
   для: sim5   (15.12.2009 в 15:42)
 

>Пока вы не нажмете на кнопку, никакой координаты вы не получите.
>Зачем вторая форма вообще нужна?
>А вот это как понимать: onClick="findInput('add').click();" ? Вы можете объяснить суть того, что здесь произойдет?

3 - это событие повешено на кнопку очистить формы2...если мы нажимаем на очистить, то происходит поиск в форме1 кнопки с ИД=add и специализируется нажатие...с обычной кнопкой работает, вот с кнопкой-картинкой замок...т.е. работать-работает, но нажатие происходит в нулевой координате, что не дает отобразится нужной форме.

2 - вторая форма нужна дял заполнения данных и по кнопке добавить они заносятся в файл...после идет уведомление, что все успешно..и далее надо очистить форму..обычный ресет на кнопке не прокатит, т.к. есть ПОСТ данные...вот я и начал изобретать велосипед

1 - согласен, но прочтите 3 и 2 пункты

  Ответить  
 
 автор: sim5   (16.12.2009 в 05:28)   письмо автору
 
   для: TetRiska   (16.12.2009 в 00:26)
 

А если я прочу 3,2, то бред onClick="findInput('add').click();" будет оправдан? )

Даже если так хочется, то достаточно просто кнопки "сторонней", а не цельной формы, и для каких данных, я понять не могу, так как кроме этой кнопки в ней ничего нет.

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

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