如果我将 jQuery Mobile 排除在外,则以下代码可以完美运行!
表格:
@using (Html.BeginForm("SearchTown", "Home", FormMethod.Post, new { id = "TheForm1" }))
{
@Html.DropDownList("TownID", (SelectList)ViewBag.TownId, "Select a Town")
}
Javascript:
<script type="text/javascript">
$(function () {
$("#TownID").live('change', function () {
//$("#TownID").change(function () {
var actionUrl = $('#TheForm1').attr('action') + '/' + $('#TownID').val();
$('#TheForm1').attr('action', actionUrl);
$('#TheForm1').submit();
});
});
</script>
但是,如果我将 jQuery Mobile 包裹在网站周围,那么每次我提交表单时,在我的日志中,它只会一次又一次地将 ID 字段添加到 URL 字符串的末尾。这只会发生在我的日志中,不会发生在浏览器中。在浏览器中,它看起来仍然在做正确的事情!例如。
www.mysite.com/Home/SearchTown/2第一次
www.mysite.com/Home/SearchTown/2/2第二次
www.mysite.com/Home/SearchTown/2/2/2第三次
但在浏览器中它看起来仍然正确 www.mysite.com/Home/SearchTown/2
为什么 jQuery Mobile 会这样做?