Определение какая кнопка была нажата на форме
Как определить какая из кнопок была нажата?
Есть форма с инпутом, кучей полей, и 3 кнопками надо сделать чтобы при нажатии на 1-ю кнопку происходило сохранение измененых значений на форме(тобишь как я думал вызывался метод submit формы) и происходил редирект <form method="post" action="<?=POST_FORM_ACTION_URI?>" name="basket_form"> бла бла бла <?if (in_array("QUANTITY", $arParams["COLUMNS_LIST"])):?> <td class="cart-item-quantity"><input maxlength="18" type="text" name="QUANTITY_<?=$arBasketItems["ID"] ?>" value="<?=$arBasketItems["QUANTITY"]?>" size="3" onfocus="this.select()" ></td> <?endif;?> бла бла бла <input type="submit" value="Продолжить заказ" name="BasketProd" id="basketprod" > <input type="submit" value="<?echo GetMessage("SALE_UPDATE")?>" name="BasketRefresh" id="refresh"> <input type="submit" value="<?echo GetMessage("SALE_ORDER")?>" name="BasketOrder" id="basketOrderButton2"> </form> <script type="text/javascript"> document.forms['basket_form'].onsubmit = function(){ Если нажата кнопка { document.location.href = 'ссылка'; } else { return false; } }; </script> |
Если нужно определить на клиенте, то можно вешать обработчик на onclick кнопок. Если на сервере, то такой проблемы нет вообще, т.к., если мне память ни с кем не изменяет, то на сервер приходит только та кнопка, которая и была нажата, а остальные игнорируются.
|
проблема в том что если я вешаю onclick то на submit кнопке он не работает а на кнопке button он не сохраняет данные с формы так что этот метод не идет и обработка идет на клиенте поэтому я и хотел определить нажатие кнопки
|
обработчик события онклик на обычную кнопку. в обработчике какието запланированные действия и затем вызов метода submit формы.
Цитата:
для того чтоб отправить данные ,а затем перейти на другую абсолютно страницу -3 варианта 1-на сервере обрабатывать данные и делать редирект на другую страницу 2 вышеописанным методом вызывать метод сабмит формы,но на сценарии обработчике-после обработки результатов возвращать заголовок 204. при нём не будет перехода на страницу обработчик и затем делать редирект ,но уже на клиенте 3 использовать аякс |
Ну зачем на обычную? Все прекрасно и с сабмитами работает (вариант с применением jQuery, но запросто реализуется и без него).
|
Цитата:
|
Не совсем понял, что именно блокируется. Ведь при таком раскладе сначала отрабатывает click, в котором можно, скажем, произвести какие-то манипуляции, специфичные для конкретной сабмит-кнопки), а потом срабатывает submit, где уже идет общая логика отработки перед отправкой.
|
Часовой пояс GMT +3, время: 14:43. |