Выборочно отправить в новое окно браузера - PullRequest
0 голосов
/ 05 июля 2011

У меня есть форма с тремя кнопками отправки для отправки данных назад для различных сценариев.

Каждый из них POST выполняет различные действия на контроллере, однако для одного из них мне нужно POST вернуться в новое окно браузера.

Возможно ли это? Я знаю, что могу добавить target="_blank" к форме, но это откроет новое окно для всех кнопок отправки ...

UPDATE:

В настоящее время я попробовал несколько методов, чтобы заставить это работать, и у меня полностью не получилось, мой текущий нерабочий код выглядит так:

$("input[type=submit]").click(function (e) {
    var form = $("form.filter-execution-form");
    if ($(this).hasClass("run-report"))
        $("form.filter-execution-form").attr("target", "_blank");
    else
        $("form.filter-execution-form").removeAttr("target");
});

У кого-нибудь есть идеи, как заставить это работать?

Спасибо,
Кирон

Ответы [ 4 ]

1 голос
/ 05 июля 2011

См. Этот пост - используйте тот же метод для динамического добавления атрибута для кнопки отправки, для которой вы хотите его (т.е. добавьте его в событие onclick вашей кнопки отправки, для которой вы хотите добавить эту поддержку)

Как добавить target = "_ blank" к ссылке в указанном div?

1 голос
/ 05 июля 2011

Вероятно, есть несколько разных способов сделать это. Самое простое, что я могу себе представить, это то, что когда кнопка отправки нажата в первом окне, вы открываете новое окно с URL-адресом (в том же домене), который имеет желаемую форму (возможно, придется остерегаться всплывающих окон) , Затем перенесите введенные данные из существующей формы в форму в новом окне. Вызовите функцию javascript на новой странице, которая скажет ей отправить форму.

0 голосов
/ 05 июля 2011

В наборе формы target="postWindow" или любом другом имени, которое одинаково повсюду, и оно всегда будет публиковаться в этом всплывающем окне (если оно не было закрыто).

0 голосов
/ 05 июля 2011

Лучший способ, которым я могу думать об этом (и, возможно, не самый лучший способ сделать это), это использовать JavaScript.

Когда вы нажимаете кнопку, не позволяйте ей делать что-либо, кроме запуска некоторого javascript вместо этого, откройте новое окно на пустой странице, со скрытой формой в нем, используйте javascript для переноса значений из вашей формы в новую всплывающую форму , отправьте всплывающую форму и сделайте что-нибудь с оригинальной страницей, чтобы показать, что действие было предпринято.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...