Несколько обработчиков для нескольких input submit в одной jsp-страничке

Рейтинг: 2Ответов: 1Опубликовано: 18.10.2014

Не могу четко сформулировать запрос для поисковика, поэтому пишу сюда.
На страничке есть куча input submit, которые должны иметь различные обработчики - один сервлет с множеством методов (SpringMVC). Так как я пишу веб-приложения на скорую руку, без основополагающих знаний в теории, то не знаю, следует мне каждый submit помещать в отдельную form или есть какой-то другой путь? Т.е.:

...
<form method="POST" action="/add_handler">
    <input type="submit" value="Add" />
</form>
<form method="POST" action="/modify_handler">
    <input type="submit" value="Modify" />
</form>
<form method="POST" action="/delete_handler">
    <input type="submit" value="Delete" />
</form>

Как правильно?

Ответы

▲ 3

Можете одну фору сабмитить, но не простыми кнопками sbmit, конечно, а из скрипта.
Я частенько так делаю (правда, здесь методы распиливаются не по пути, а по параметру):

<form method="POST" action="/action">
    <input type="hidden" name="signal" value="" />

    <input type="button" value="Add" />
    <input type="button" value="Modify" />
    <input type="button" value="Delete" />

</form>

<script>
    function add() {
        jQuery("form input[name=signal]").val("add");
        jQuery("form").submit();
    }

    function modify() {
        jQuery("form input[name=signal]").val("modify");
        jQuery("form").submit();
    }

   function delete() {
        jQuery("form input[name=signal]").val("delete");
        jQuery("form").submit();
    }
</scipt>

Но если вам это очень нужно, можете в скрипте и action у формы подменять (вместо установки параметра).