Internet Explorer не может отобразить веб-страницу после использования Jquery? - PullRequest
1 голос
/ 27 июня 2011

В моем веб-приложении asp я делаю диалоговое окно с помощью импровизированного 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>

Ответы [ 2 ]

0 голосов
/ 28 июня 2011

Если отображается «Internet Explorer не может отобразить веб-страницу», то, скорее всего, это ошибка сервера.

Это может не иметь значения, но для сервера asp:Button должно быть OnClick (с большой буквы)обработчик бокового щелчка.

Можете ли вы подтвердить, что btnPartNumber_Click вызывается каждый раз в Visual Studio?

0 голосов
/ 28 июня 2011
  1. Вы не хотите делать это по клику, вы хотите использовать $ .submit (в случае, если пользователи нажимают ввод вместо нажатия). Не у всех пользователей есть кнопка мыши, поэтому вы делаете свой сайт недоступным, что является очень плохой практикой.

  2. Вы хотите избежать встроенного JavaScript. Поместите его во внешний файл сценария и поместите все свои сценарии в один файл.

  3. Как только вы используете $('#form').submit(function() {});, вы можете выполнить быстрый тест и либо вернуть значение true (чтобы отправить его), либо вернуть false (если они нажмут кнопку «Отмена»). Тогда вам вообще не нужна функция verifySubmitResultUpdatePartNumber, вы сократили свой код и очистили его. Вы также можете удалить дополнительную кнопку и отобразить кнопку отправки, которая сделает ваш HTML более семантическим.

В целом, вы должны использовать лучшие практики кодирования. Попробуйте взглянуть на документы HTML5BoilerPlate: http://html5boilerplate.com/docs/#Make-it-Better

Вы бы выиграли от использования Firefox с Firebug для отладки, а не IE. Затем вы можете заглянуть в консоль, чтобы увидеть, если что-то ломается. Вы также можете добавить полезные оповещения в консоли, чтобы увидеть, куда попадает ваш скрипт: console.log("I've made it this far");

Удачи!

...