Спустя 11 минут, 22 секунды (26.03.2009 - 15:57) LRCenter написал(а):
Такое проще всего сделать с помощью AJAX, или просто JS
Спустя 2 минуты, 32 секунды (26.03.2009 - 15:59) Kuliev написал(а):
Цитата (LRCenter @ 26.03.2009 - 12:57) |
Такое проще всего сделать с помощью AJAX, или просто JS |
+1
Спустя 5 минут, 59 секунд (26.03.2009 - 16:05) LRCenter написал(а):
На уровне интерфейса страницы если.
Спустя 47 секунд (26.03.2009 - 16:06) Aleksander написал(а):
Цитата (LRCenter @ 26.03.2009 - 12:57) |
Такое проще всего сделать с помощью AJAX, или просто JS |
С AJAX к сожалению я не подружился:))
А по JS это что то типа , проверяем какой сабмит нажат, и вешаем в <Form action="" method="post">
в action имя нужного скрипта?
Спустя 3 минуты, 14 секунд (26.03.2009 - 16:09) LRCenter написал(а):
Ну можно добавить в форму(или вне ее) дополнительный элемент выбора- раскрывающийся список, например. И в зависимости от выбора на JS-е менять action у формы.
а насчет нескольких сабмитов я даже незнаю...
а насчет нескольких сабмитов я даже незнаю...
Спустя 25 минут, 9 секунд (26.03.2009 - 16:34) waldicom написал(а):
Цитата (Aleksander @ 26.03.2009 - 13:45) |
Всем привет, подскажите можно ли какнить на одну форму повесить несколько скриптов, например поставить три Сабмита , и чтобы каждый запускал свой скрипт обрабатывающий данные с формы? |
А почему не передать управление одному скрипту, который уже и будет смотреть, какой сабмит нажат и в соответствии с этим будет делать что надо (хоть другие скрипты вызывать)
Спустя 7 минут, 59 секунд (26.03.2009 - 16:42) sergeiss написал(а):
AJAX зачем?
Делаем onclick для кнопок. В обработчике выставляем нужный action для формы, и затем вызываем функцию submit для формы. И хоть сотню кнопок разных делай.
Но лучше этого НЕ ДЕЛАТЬ!!!!![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Потому чтона принимающей стороне легко и просто отследить, какая именно кнопка была нажата, и предпринять те или иные действия.
PS. waldicom - опередил немного, пока я тут работой занимался
Делаем onclick для кнопок. В обработчике выставляем нужный action для формы, и затем вызываем функцию submit для формы. И хоть сотню кнопок разных делай.
Но лучше этого НЕ ДЕЛАТЬ!!!!
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Потому чтона принимающей стороне легко и просто отследить, какая именно кнопка была нажата, и предпринять те или иные действия.
PS. waldicom - опередил немного, пока я тут работой занимался
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 48 минут, 33 секунды (26.03.2009 - 17:31) Aleksander написал(а):
Цитата (waldicom @ 26.03.2009 - 13:34) | ||
А почему не передать управление одному скрипту, который уже и будет смотреть, какой сабмит нажат и в соответствии с этим будет делать что надо (хоть другие скрипты вызывать) |
А можно по подробнее, насчёт вызова из одного скрипта , других скриптов?
Спустя 2 минуты, 25 секунд (26.03.2009 - 17:33) waldicom написал(а):
Море вожможностей: от shell_exec() и system(), через header() и до curl
Спустя 3 минуты, 49 секунд (26.03.2009 - 17:37) modobaks написал(а):
PHP |
<?php |
HTML |
<form action = "index.php" method = "post"> <input type = "submit" name = "on_save"> <input type = "submit" name = "on_load"> <input type = "submit" name = "on_exit"> </form> |
так попробуй, ...
Спустя 19 минут, 8 секунд (26.03.2009 - 17:56) Aleksander написал(а):
Спасибо!, затестю!
Спустя 22 часа, 39 минут, 54 секунды (27.03.2009 - 16:36) Aleksander написал(а):
Вроде работает, а как думаете это ваще нормально использовать такой приём?
Спустя 17 часов, 28 минут, 42 секунды (28.03.2009 - 10:05) bret написал(а):
Цитата |
Вроде работает, а как думаете это ваще нормально использовать такой приём? |
Да!
И никаких
Спустя 3 дня, 2 часа, 16 минут, 50 секунд (31.03.2009 - 11:22) Aleksander написал(а):
Снова проблема, пришлось одну из Сабмитов заменить на обычный Баттон,на эту кнопку повесил вызов функции которая если всё нормуль , делает так:
document.forms[0].submit();
Всё работает, но в скрипте обработчике формы не работает такая штука:
if( isset( $_POST['UpNam'] ) )
{
}
тоесть я так понял сюда я попадаю не по конкретно нажатию какойто кнопки а через вызов функции, поэтому и нету такой переменной как $_POST['UpNam'].
А можно ли сделать так чтобы document.forms[0].submit(); вызывалось от определённой кнопки ну например что то типа :
ButtSub=document.getElementById("BatUpd");
document.forms[0].ButtSub.submit();
Хоть конкретно этот пример и неработает, но может есть чтото типа этого?
document.forms[0].submit();
Всё работает, но в скрипте обработчике формы не работает такая штука:
if( isset( $_POST['UpNam'] ) )
{
}
тоесть я так понял сюда я попадаю не по конкретно нажатию какойто кнопки а через вызов функции, поэтому и нету такой переменной как $_POST['UpNam'].
А можно ли сделать так чтобы document.forms[0].submit(); вызывалось от определённой кнопки ну например что то типа :
ButtSub=document.getElementById("BatUpd");
document.forms[0].ButtSub.submit();
Хоть конкретно этот пример и неработает, но может есть чтото типа этого?
Спустя 4 минуты, 39 секунд (31.03.2009 - 11:26) sergeiss написал(а):
Лучше будет, наверное, завести скрытое (type="hidden") поле. В которое записываешь сначала какое-то значение "по умолчанию". Которое (при проверке) говорит о том, что была нажата кнопка.
Если же ты через submit запускаешь, то тогда выставляешь в value этого скрытого поля другую величину. Которая может зависеть от того, с какой кнопки ты пришел в обработчик, т.к. какая кнопка была нажата перед программным сабмитом.
Если же ты через submit запускаешь, то тогда выставляешь в value этого скрытого поля другую величину. Которая может зависеть от того, с какой кнопки ты пришел в обработчик, т.к. какая кнопка была нажата перед программным сабмитом.
Спустя 5 часов, 45 минут, 37 секунд (31.03.2009 - 17:12) Aleksander написал(а):
Цитата (sergeiss @ 31.03.2009 - 08:26) |
Лучше будет, наверное, завести скрытое (type="hidden") поле. В которое записываешь сначала какое-то значение "по умолчанию". Которое (при проверке) говорит о том, что была нажата кнопка. Если же ты через submit запускаешь, то тогда выставляешь в value этого скрытого поля другую величину. Которая может зависеть от того, с какой кнопки ты пришел в обработчик, т.к. какая кнопка была нажата перед программным сабмитом. |
Дело в том что нажимая на Кнопку вызывается функция :document.forms[0].submit();
А нажимая на Сабмит вызывается таже функция только как то програмно.
И values Скрытого поля поетому всегда одно и тоже, нельзя сделать так что при нажатии на Кнопку оно было одно а по нажатию на Сабмит другое:(
Или я чото нетак понял...
Спустя 9 минут, 14 секунд (31.03.2009 - 17:21) sergeiss написал(а):
Ты не так понял ![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Вот смотри на код (ежели вдруг и ошибусь, ужО не обессудь
, пишу едва ли не "на ходу"):
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Вот смотри на код (ежели вдруг и ошибусь, ужО не обессудь
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
HTML |
<input type="hidden" name="hid01" value="main_button_pressed" /> <input type="button" name="but01" onclick=" process_pressed_button();' /> <input type="submit" name="main_but" value="Жмякай тут!" /> // текст функции process_pressed_button() { // делаем тут любые проверки, назначения, действия .... // и в нужном месте сначала изменяем величину скрытого поля, а потом только программно запускаем форму document.getElementById('hid01').value='but01_pressed'; document.forms[0].submit(); } |
Что произойдет? А вот на этот вопрос сам найди ответ
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Аналогично можно узнать, что была нажата какая-то третья, четвертая, пятая кнопки...
Спустя 59 минут, 51 секунда (31.03.2009 - 18:21) Aleksander написал(а):
Ну я делал тоже самое только в Значение скрытого поля заносил 1, и нажимая на Сабмит или на Баттон в значение Хиддена ложилась единица:)
Просто нужно document.getElementById('hid01').value='but01_pressed'; ложить до
document.forms[0].submit();
Тоесть перед всеми проверками, тогда работает.
Ну и сама функция должна начанаться с присваивания Скрытому полю Нулевого значения.
Просто нужно document.getElementById('hid01').value='but01_pressed'; ложить до
document.forms[0].submit();
Тоесть перед всеми проверками, тогда работает.
Ну и сама функция должна начанаться с присваивания Скрытому полю Нулевого значения.
Спустя 5 часов, 24 минуты, 47 секунд (1.04.2009 - 23:46) Sergeyko5 написал(а):