javascript href的问题

时间:2013-11-01 11:28:46

标签: javascript html

我在struts 1.2中有一个jsp页面,它有2个功能。打印pdf并提交表格。
打印pdf将打开一个新窗口并显示在页面中使用字段值生成的pdf。
提交表单应导航到同一窗口中的确认页面并将值保存在db中。
以下是代码的一部分。

<a href="javascript:void(0)" onclick="javascript:printPDF();" target="_blank"><img src="/images/buttons/ButtonPrint.gif" border="0" alt="Print" ></a>

<a href="javascript:void(0)" onclick="javascript:submitContinue();"><img src="/images/buttons/ButtonSubmit.gif" border="0" alt="Submit" ></a>


以下是相应的javascript方法。

function submitContinue()
{
    document.forms[0].action = "/provider/requestSubmitted.do?method=processUpload";
    document.forms[0].submit();
    return true;
}

function printPDF()
{
    document.forms[0].action = "/provider/requestSubmitted.do?method=printPDF";
    document.forms[0].target="new";
    document.forms[0].submit();
    return true;

}

这些功能可以单独使用。但是,如果我点击打印然后提交,则下一页(确认页面)将在新选项卡中打开。它应该在同一个窗口中。请帮忙!!

2 个答案:

答案 0 :(得分:2)

Jijo,

你有一个脚本来提交表单,当你的目标有 xxx (标签名称)时,你的表单对象提交有目标属性工作正常,您必须从表单对象中删除目标值。

 function submitContinue()  
 {
    document.forms[0].action = "/provider/requestSubmitted.do?method=processUpload";
    document.forms[0].target="_self";
    document.forms[0].submit();
    return true;
}  
 function printPDF()
 {
     document.forms[0].action = "/provider/requestSubmitted.do?method=printPDF";
     document.forms[0].target="pdf";
     document.forms[0].submit();
     return true; 
 }

如果你有

 <form action="xxx" **target="yyy"**

你必须再次删除target =“yyy”

有关目标属性的文档是

target values      Description
  _blank            Specifies where to display the response that is 
  _self
  _parent
  _top

答案 1 :(得分:1)

function submitContinue()
{
    document.forms[0].action = "/provider/requestSubmitted.do?method=processUpload";
    document.forms[0].target=self; <-------HERE
    document.forms[0].submit();
    return true;
}

当您使用printPDF时,表单目标设置为“new”,如果您不刷新页面或将其重置为“self”(或null),该表单将在每次提交时打开一个新窗口。