iframe中的表单目标始终提交给自己

时间:2012-02-25 02:18:45

标签: asp.net forms iframe submit

我在body标签内有一个带有搜索控件的框架:

iframe.aspx:

<form id="form1" runat="server" onsubmit="changeTarget();">
   <uc1:Search id="ucSearch" runat="server"></uc1:Search>
</form>

此搜索控件输出搜索框和搜索按钮,并以下列形式显示回发的结果链接:

搜索结果链接示例:

    <a id="ucSearch_gvResults__ctl2_clbTitle" title="A search result" 
href="javascript: CrossPost('/Page2.aspx', 'XID,YID,ZID','634,22,97',true)">
My First Search Result</a>

CrossPost javascript函数是搜索控件的一部分,我不想因某些原因修改它,但这是用户点击搜索结果链接时执行的内容:

用于每个搜索结果链接的CrossPost()方法:

function CrossPost(strPage, strKeys, strValues, blnSameWindow) {
   var theform;
   if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
      theform = document.forms["frmPoster"];
   }
   else {
      theform = document.frmPoster;
   }
   document.getElementById("PostKeys").value=strKeys;
   document.getElementById("PostValues").value=strValues;
   theform.action=strPage;
   if(blnSameWindow)
     theform.target='_self';
   else
     theform.target='_blank';
     theform.submit();
}

我试图在iframe.aspx页面中编写一些JQuery / JavaScript来覆盖表单的target属性,以便发生以下情况:

  • 单击搜索按钮时,结果将显示在框架内(target =“_ self”)
  • 当您点击任何搜索结果时,提交会突破框架并显示在父窗口中(target =“_ top”)

我玩过JQuery提交和标记,但它总是提交给自己(iframe)。如何覆盖CrossPost方法为设置表单目标所做的工作?

0 个答案:

没有答案