sj:submit и s:submit в одной и той же форме

У меня есть s:form с sj:submit и s:submit внутри, sj:submit работает правильно, но кнопки s:submit не работают. Ничего не происходит, когда я нажимаю кнопки s:submit.

Я попытался использовать кнопку sj:submit вне формы и связать ее с s:form с параметром formIds.


person simoneloru    schedule 25.09.2013    source источник
comment
Неважно, он отлично работает без дополнительных кнопок.   -  person Roman C    schedule 25.09.2013
comment
См. это: stackoverflow.com/q/18944973/1700321.   -  person Aleksandr M    schedule 25.09.2013


Ответы (2)


Проблема здесь заключается в том, что e.PreventDefault() предотвращает обычную отправку при нажатии кнопки ввода внутри текстового поля формы.

См.: http://code.google.com/p/struts2-jquery/source/browse/trunk/struts2-jquery-plugin/src/main/resources/template/js/struts2/jquery.struts2..js#947

Как насчет использования обычной ссылки вместо кнопки?

person Johannes    schedule 29.09.2013
comment
Я не могу использовать ссылку, потому что мне нужно отправить данные через POST, но спасибо, я не заметил, что это предотвращает дефолт! - person simoneloru; 03.10.2013
comment
С тегом ‹sj:a ... /› вы также можете отправлять формы с помощью POST. Это поведение по умолчанию. - person Johannes; 04.11.2013

Я решил, используя:

<s:submit onClick="overrideSubmit('this_action')"/>

а также

function overrideSubmit(actionName) {
        document.forms['configurationForm'].action = actionName + '.action';
        document.forms['configurationForm'].submit();
    }
person simoneloru    schedule 03.10.2013