2011-06-27 108 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

相關問題