Действие Struts должно быть открыто как всплывающее окно по ссылке href - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть форма на моем JSP,

<form  action="test1_action" name="test" method="post" id="test">

также у меня есть две разные ссылки ссылка1 , ссылка2 здесь,

щелчок по ссылке1 Я должен отправить test1_action action

$('#link1').click(function() {  
        document.forms['test'].action='test1_action';
        document.forms['test'].submit();
}); 

Это прекрасно работает для меня.

Что я ожидаю, когда я нажму на вторую ссылку

$('#link2').click(function() {
        document.forms['test'].action='**different_action**';
        document.forms['test'].submit();
});

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Вы можете использовать window.open(), чтобы открыть окно с определенным именем, а затем использовать это имя в качестве цели для отправки формы.

$('#link2').click(function() {
   window.open("","test2win","directories=no,status=no,width=600,height=700,top=0,left=0");

   $('#test').attr({
     'action' : 'test2_action',
     'target' : 'test2win'
   }).submit();
});

Я не уверен, что вышеуказанное будет работатьхотя во всех браузерахВ противном случае вам, возможно, придется просто забыть шаг window.open() и просто отправить форму с помощью target=_blank, а затем установить размер на странице, возвращаемой при отправке.

0 голосов
/ 23 ноября 2011

Вы используете jQuery, поэтому нет необходимости в ручном обходе DOM:

$('#link1').click(function() {  
  $('#test').attr('action', 'test1_action').submit();
}); 

$('#link2').click(function() {  
  $('#test').attr('action', 'test2_action').submit();
}); 

Атрибут action определяет страницу, на которую форма отправляет свое содержимое, чаще всего страницу, которая каким-либо образом взаимодействует с сервером (PHP, JSP и т.

Что вы подразумеваете под "всплывающим окном"?

...