1

在我的 asp web 应用程序中,我正在通过即兴 jquery 制作对话框。在我单击提交按钮的前 3 次尝试中,该页面在触发 onclick 事件后运行良好,但在下一次尝试时,页面始终显示 Internet Explorer 无法显示该网页。也许我在执行 jquery 时遇到问题..

  <asp:Content ID="Content1" ContentPlaceHolderID="head"
        runat="server">
    <script type="text/javascript" language="javascript">
       //Update PartNumber
            function confirmSubmitUpdatePartNumber() {
                $.prompt('Are you sure you want to Update this PartNumber?'
                , {
                    buttons: { Ok: true, Cancel: false }
                    , callback: confirmSubmitResultUpdatePartNumber
                }
            );
                return false;
            }
            function confirmSubmitResultUpdatePartNumber(v, m, f) {
                if (v) //post back if the user clicked OK
                    $('#ctl00_mainContentPlaceholder_btnPartNumber').click();
            }
        </script>  
    </asp:Content>

 <asp:Content ID="detailContent" ContentPlaceHolderID="mainContentPlaceholder"
    runat="server">   

      <input type="button" onclick="return confirmSubmitUpdatePartNumber();"  value="Update PartNumber Location" />   
       <asp:Button ID="btnPartNumber" runat="server" Style="display: none;" 
              onclick="btnPartNumber_Click"/>
</div>
4

2 回答 2

0
  1. 您不想在单击时执行此操作,而是要使用 $.submit (以防用户按 Enter 而不是单击)。并非所有用户都可以单击鼠标,因此您使您的网站无法访问,这是非常糟糕的做法。

  2. 您想避免使用内联 javascript。将它放在一个外部脚本文件中,并将所有脚本放在一个文件中。

  3. 使用$('#form').submit(function() {});后,您可以进行提示测试,然后返回 true(提交)或返回 false(如果他们单击取消)。然后你根本不需要 confirmSubmitResultUpdatePartNumber 函数,你已经缩短了代码并清理了它。您还可以删除额外的按钮并显示提交按钮,这使您的 HTML 更具语义。

总的来说,您应该使用更好的编码实践。尝试查看 HTML5BoilerPlate 文档:http ://html5boilerplate.com/docs/#Make-it-Better

您将受益于使用带有 Firebug 的 Firefox 进行调试,而不是 IE。然后您可以查看控制台以查看是否有任何问题。您还可以在控制台中添加有用的警报,以查看脚本到达的位置:console.log("I've made it this far");

祝你好运!

于 2011-06-28T16:36:43.700 回答
0

如果它显示“Internet Explorer 无法显示该网页”,则很可能是服务器错误。

可能无关紧要,但对于服务器端点击处理程序,asp:Button应该OnClick(大写)。

你能确认btnPartNumber_Click每次在 Visual Studio 中都被调用吗?

于 2011-06-28T17:01:24.113 回答