Intereting Posts
Laravel Красноречивое внутреннее соединение с несколькими условиями Как проверить службу в symfony2? Заголовок заголовка содержимого HTTP и JSON Передача данных таблицы с пост-переменными Неопределенная ошибка индекса при $ em-> clear () в Symfony2 Использует ли «или» для нулевой проверки хорошую практику программирования PHP? Уникальный, непредсказуемый, 12-значный, целочисленный идентификатор CodeIgniter – загружать библиотеки, если они еще не загружены http_build_query, помещая странные символы в строку запроса Как переопределить / клонировать модули, которые загружаются поставщику композитором в zf2? PHP Digest auth, выход из системы форма с методом post перестает работать, когда расширение php отключено Добавление метаданных в PDF через PHP Внедрение данных изображения IPTC с помощью PHP GD как получить доступ к php определенной константе, используя переменную $ как имя определенной константы

Несколько кнопок отправки php разных действий

У меня есть веб-сайт, где я хочу иметь две отдельные кнопки отправки, одна из которых будет принимать введенные данные и выполнять некоторые вычисления для отображения на том же экране. Я успешно работаю с:

<form id="form1" name="form1" method="post" onsubmit="" onreset="" action="programname.php"> <input type="submit" name="calc" value="Find Angle"> 

и затем я использую:

 if (!isset($_POST['submit'])){ Do actions, display calculations} 

Теперь я хочу вторую кнопку отправки, которая по-прежнему захватывает введенные данные, а затем переходит к другому адресу. Есть ли элегантный способ сделать это?

Solutions Collecting From Web of "Несколько кнопок отправки php разных действий"

Вы можете добавить метод onclick к новой кнопке отправки, которая изменит действие формы и затем отправит ее.

 <script type="text/javascript"> function submitForm(action) { var form = document.getElementById('form1'); form.action = action; form.submit(); } </script> ... <form id="form1"> <!-- ... --> <input type="button" onclick="submitForm('page1.php')" value="submit 1" /> <input type="button" onclick="submitForm('page2.php')" value="submit 2" /> </form> 

Вы можете изменить действие формы, используя formaction = "page1.php" в свойстве кнопки.

 <form id="form1" name="form1" method="post" onsubmit="" onreset="" action="programname.php"> <input type="submit" name="calc" value="Find Angle"> <input type="button" type="submit" formaction="page1.php">Action 0</button> <input type="button" type="submit" formaction="page2.php">Action 1</button> </form> 

Примечание. Атрибут formaction тега кнопки не поддерживается в Internet Explorer 9 и более ранних версиях.

Лучший способ справиться с несколькими кнопками отправки – это использовать случай переключения в скрипте действия

 <form action="demo_form.php" method="get"> Choose your favorite subject: <button name="subject" type="submit" value="html">HTML</button> <button name="subject" type="submit" value="css">CSS</button> <button name="subject" type="submit" value="javascript">Java Script</button> <button name="subject" type="submit" value="jquery">jQuery</button> </form> 

Action / Server Side script:

demo_form.php

 <?php switch($_REQUEST['subject']) { case 'html': //action for html here break; case 'css': //action for css here break; case 'javascript': //action for javascript here break; case 'jquery': //action for jquery here break; } ?> 

Ссылка: W3Schools