代码之家  ›  专栏  ›  技术社区  ›  bingles

Internet Explorer嵌套表单发布

  •  5
  • bingles  · 技术社区  · 14 年前

    我正在使用ASP.NET MVC创建一个页面,张贴到Paypal沙箱。向PayPal站点发布的我的窗体嵌套在父窗体中。我使用的是Internet Explorer 7,由于某种原因,嵌套的表单在我的本地机器上发布,而不是PayPal站点。如果我在第一个之后直接添加相同嵌套表单的副本,第一个将发布到本地主机,第二个将发布到预期的位置。

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>
        </title>
    </head>
    <body>
        <form name="aspnetForm" method="post" action="" id="aspnetForm">        
            <!--First form posts locally-->
            <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
                <input type="submit" value="Pay"/>
            </form>     
    
            <!--Second identical form posts to the expected destination-->
            <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">     
                <input type="submit" value="Pay"/>
            </form> 
        </form>
    

    3 回复  |  直到 14 年前
        1
  •  11
  •   Palantir    14 年前

    嵌套表单不可用,因此其行为未定义。你就是不能筑巢。一次只能提交一个表单,尽管您可以在一个页面上有多个未列出的表单(但只提交相应的提交按钮中的一个)。

        2
  •  3
  •   bingles    14 年前

    看起来我使用了ASP.NET母版页模板而不是ASP.NET MVC模板。ASP.NET模板包含创建此嵌套表单页的表单标记。使用ASP.NET MVC模板修复了我的问题,将嵌套的表单全部删除。

        3
  •  0
  •   Kendrick    14 年前

    处理服务器端的按钮单击事件,并从该事件发布到站点。嵌套表单是无效的XHTML。