2011-06-27 81 views
1

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

<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> 

回答

0
  1. 你不想被的onclick这样做,你要使用$ .submit(如果用户按下回车键,而不是点击)。并非所有的用户都有一个鼠标点击,所以你让你的网站无法访问,这是非常不好的做法。

  2. 你想避免内嵌JavaScript。将它放在一个外部脚本文件中,并将所有脚本放在一个文件中。

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

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

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

祝您好运!

+2

-1为非建设性语言抨击。如果清理它,请留下@注释,我将删除downvote。 – Davy8

+0

@ Davy8它很干净!谢谢。 – thugsb

0

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

它可能没关系,但asp:Button的应为OnClick(大写)的服务器端点击处理程序。

你能否确认每次在Visual Studio中调用btnPartNumber_Click

相关问题