0

У меня есть форма, как этот HTML:JQuery-UI Dialog ничего не делает в IE11

<div id="dialogGlobal" title="About You">  
    <form> 
    <fieldset style="border: none;"> 
     <ul style="list-style-type: none; padding-left: 0px"> 
     <li><label for="username">Please Enter Your First Name</label></li> 
     <li><input type="text" name="username" id="username" placeholder="Enter your name" pattern="[A-Za-z]{3,}" title="Your first name must be at least 3 letters" class="text ui-widget-content ui-corner-all" required></li> 
     <li><label for="zipcode">Please Enter Your Zipcode</label></li> 
     <li><input type="text" name="zipcode" maxlength="5" pattern="[0-9]{5}" id="zipcode" title="Please enter a 5 digit zip-code" placeholder="02134" class="text ui-widget-content ui-corner-all" required></li> 
     </ul> 
    </fieldset> 
    </form> 
</div> 

И соответствующий JQuery-щ Javascript

dialogGlobal = $("#dialogGlobal").dialog({ 
      autoOpen: false, 
      height: 300, 
      width: 350, 
      modal: true, 
     position: { 
      my: "center center", 
      at: "center center", 
      of: "#map" 
      }, 
     buttons: [{ 
     text: "Submit", 
      click: function() { 
      if(checkValues();){ 
       dialogGlobal.dialog("close"); 
      } 
      else{ 
       alert("Invalid input"); 
      } 
      } 
     }, 
     id: "globalAccept" 
     }], 
     close: function() { 

     }, 
     //Hack to avoid "ENTER" leading to a new page... 
     open: function(){ 
      $("#dialogGlobal").keydown(function(e) { 
       if (e.keyCode == $.ui.keyCode.ENTER) { 
       $("#globalAccept").trigger("click"); 
       }  
      }); 

     } 
    }); 

Когда я нажимаю на "Submit" в FF и Chrome, все работает нормально. В IE 11 (на поверхности RT) ничего не происходит, я даже добавил предупреждение, которое сигнализировало бы, что кнопка была нажата, но она не появляется. Я попытался добавить $("#dialogGlobal").on("click",function(){dothesamething});, но все равно ничего, даже если другие объекты с этим слушателем ведут себя нормально ....

+0

является то, что при нажатии на сенсорный интерфейс? Если да, попробовали ли вы $ ("# dialogGlobal"). On ("touchstart", function() {dothesamething}) – yezzz

+0

@yezzz, хорошее предложение, но это не сработало :(Другие функции пользовательского интерфейса работают нормально с ... на («щелчок»,), поэтому я озадачен, почему это специфично для пользовательских элементов диалогового окна – raphael

+0

, и я просто перешел на http://jqueryui.com/dialog/#modal-form, и он отлично работает с ie11. Вы проверили console.log на наличие ошибок? – yezzz

ответ

-1

IE может быть в режиме совместимости. Чтобы отключить режим совместимости, добавьте

на ваш HTML заголовок

+0

Добавить ....? Что именно? – raphael

+0

Если вы предлагая [это] (http://stackoverflow.com/a/344933 8/4047679) это не сработало. – raphael

+0

Да, это то, что я предлагал. Как-то тег не был включен, когда я опубликовал. Извини за это. – DottedT