JQuery Форма отправить в новом окне

0

Я новичок в jquery, чтобы извинить за простой вопрос. Я пытаюсь представить форму, которая имеет две кнопки отправки...

<input id="submitBtn" name="action" value="view" type="submit" class="ym-button ym-primary" value="<spring:message code="button.view"/>" title="<spring:message code="button.view" />" />                                
<input id="saveBtn" name="action" value="save" type="submit" class="ym-button ym-warning" value="<spring:message code="button.save"/>" title="<spring:message code="button.save" />" /> 

Как вы видите, у меня есть кнопка с именем submitBtn и saveBtn. Команда submitBtn возвращает html, а saveBtn возвращает pdf.

Когда sendBtn попал, я хотел бы, чтобы форма была отправлена нормально и имела нагрузку ответа в текущем окне. Но когда удаляется saveBtn, я хотел бы, чтобы текущее окно оставалось как есть и загрузило PDF в новое всплывающее окно.

До сих пор я пробовал...

$("#submitBtn").click(function(){ 
    if ($("form[name='shortsAndOversDailyForm']").valid()) {
        return true;
    }
    return false;
}); 

$("#saveBtn").click(function(){ 
    if ($("form[name='shortsAndOversDailyForm']").valid()) {
        // specify a unique target name
        var target = 'windowFormTarget';
        // open a new window and name it
        window.open('', target, 'width=1400,height=900');
        // set the target of the form to be
        // the window name
        this.setAttribute('target', target);
        // allow the form to be submitted normally
        return true;
    }
    return false;
});

Проблема заключается в том, что когда я нажимаю кнопку "Сохранить", открывается новое окно без содержимого, и файл pdf загружается в окно, где была отправлена форма.

Может ли кто-нибудь помочь в том, как это исправить, поэтому я могу загрузить pdf файл во всплывающем окне?

благодаря

  • 0
    Как вы генерируете PDF?
  • 0
    Да уж.. . Пожалуйста, укажите или объясните, что вы используете или как вы генерируете PDF для нас, чтобы помочь вам.
Теги:

1 ответ

1

this кнопка и кнопки не имеют целей, форма делает.

this.setAttribute('target', target);  

поэтому вы, вероятно, захотите this.form

this.form.setAttribute('target', target);  

или с помощью jQuery

$(this).closest("form").attr('target', target);

$("#saveBtn").click(function(){
    var form = $("form[name='shortsAndOversDailyForm']");
    if (form.valid()) {
        var target = 'windowFormTarget';
        window.open('', target, 'width=1400,height=900');
        //this.form.setAttribute('target', target);
        form.attr('target', target);
        return true;
    }
    return false;
});
  • 0
    извините, чтобы спросить. Но вы могли бы быть более конкретным с тем, как будет выглядеть функция. Я попробовал это безуспешно. Спасибо
  • 0
    Что случилось? Вы должны просто заменить верхнюю строку одной из двух других.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню