2012-06-28 3 views
0

Я создал небольшой мобильный интерфейс внутри моего MVC-приложения, который в основном должен отправить номер, выбранный из списка выбора на сервер.JQuery Mobile не работает на IE Mobile. (MVC)

КОД:

@{ 
    ViewBag.Title = "Freezer Status"; 
} 
<div style="width: 210px"> 
    <div> 
     <select style="width: 160px"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
     </select> 
    </div> 
    <div> 
     <input type="submit" id="submit" value="Save" style="width: 200px" /> 
    </div> 
</div> 
<div id="result"> 
</div> 
<script type="text/javascript"> 
    $("select").change(function() { 
     $("select option:selected").each(function() { 
      $.ajax({ 
       data: { 
        fridgeNo: $(this).val() 
       }, 
       type: 'GET', 
       url: '@Url.Action("GetLastSubmitAction", "BlastFreezer")', 
       cache: false, 
       success: function (html) { 
        $("#submit").attr('value', html.Value); 
        $("#submit").prev().html(html.Text); 
       } 
      }); 
     }); 
    }).change(); 

    $("#submit").click(function() { 
     $.ajax({ 
      data: { 
       fridgeNo: $(this).val() 
      }, 
      type: 'GET', 
      url: '@Url.Action("ClockFridgeTime", "BlastFreezer")', 
      cache: false, 
      success: function (html) { 
       $("#submit").attr('value', html.Value); 
       $("#submit").html(html.Text); 

       $("#result").html("Saved!"); 
      } 
     }); 
    }); 
</script> 

Когда я разработал его, я проверил интерфейс с помощью агента включается надстройка для хрома, и казалось, что они работают хорошо.

Agent строка:

Mozilla/4.0 (совместимый; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7,0; Nokia; N70)

Но его не работая на устройстве, которое должно использовать интерфейс. Все, что я могу вам рассказать (пытались отследить на устройстве для конкретной версии IE безрезультатно) заключается в том, что его мобильные устройства и форма мобильных Pocket IE.

Chrome - With mobile agentMobile device

кнопку Сохранить текст должен быть определен на основе текста, отправленного с сервера. И тогда мне нужно просто сделать простой вызов submit/ajax. Мое лучшее предположение, что Mobile IE такой же темпераментный, как и его старший брат, и JQuery mobile не работает на нем. Если это так, то как еще я буду звонить на сервер без публикации?

ответ

0

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

Я закончил работу с мобильным устройством JQuery. И теперь мой взгляд выглядит примерно так. событие on Change по-прежнему не срабатывает на IE Mobile (но работает, когда я запускаю его в хроме под другим агентом), форма отправляет холодильник по крайней мере ...

@{ 
    ViewBag.Title = "Freezer Status"; 
} 
@using (Html.BeginForm("ClockFridgeTime", "BlastFreezer", FormMethod.Get, new { name = "UpdateForm" })) 
{ 
    <div style="width: 210px"> 
     <div> 
      @Html.DropDownList("fridgeNo", (List<SelectListItem>)ViewBag.Options, new { onChange = "PostForm(this, '/Index')", Style = "width:160px; height 80px;" }) 
     </div> 
     <br /> 
     <div> 
      <input type="submit" id="submit" value="@ViewBag.FridgeStatus" style="width: 200px; height:80px" /> 
     </div> 
    </div> 
} 
<script type="text/javascript"> 
    function PostForm(btnClicked, newLocation) { 
     var $form = $(btnClicked).parents('UpdateForm'); 

     $.ajax({ 
      type: "GET", 
      url: document.UpdateForm.action.replace('/ClockFridgeTime', newLocation.toString()) + "?fridgeNo=" + document.getElementById('fridgeNo').value, 
      success: function (response) { 
       document.body.innerHTML = response; 
      } 
     }); 
     return false; 
    } 
</script> 
Смежные вопросы