2012-06-28 28 views
0

我在MVC應用程序內部創建了一個小型移動界面,基本上需要將從選擇列表中選擇的號碼提交給服務器。JQuery Mobile無法在IE Mobile上工作。 (MVC)

CODE:

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

當我開發它,我測試使用代理的界面切換添加爲Chrome,它似乎正常工作。

代理字符串:

的Mozilla/4.0(兼容; MSIE 7.0; Windows手機OS 7.0;三叉戟/ 3.1; IEMobile/7.0;諾基亞,N70)

但其不在需要使用該接口的設備上工作。所有我可以告訴你(一直試圖窺探設備上的特定IE版本無濟於事)是它的Windows移動和某種形式的袖珍移動的IE。

Chrome - With mobile agentMobile device

保存按鈕文本應基於從服務器發回的文字來確定。然後我需要能夠做一個簡單的提交/ ajax調用。 我最好的猜測是,移動IE與它的大哥一樣脾氣暴躁,而JQuery移動不起作用。如果是這樣的話,我會怎麼做,而不發佈任何電話到服務器?

回答

0

這只是現在的部分答案。 (我會更新並將其標記爲已解決,一旦我知道它:P)

我最終把JQuery移出。我的看法現在看起來像這樣。在更改事件仍然沒有觸發IE移動(但它的工作原理,當我運行在鉻下不同的代理),表格提交冰箱沒有至少...

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