次のコードは、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/22回目
www.mysite.com/Home/SearchTown/2/2/23回目
しかし、ブラウザではまだ正しいように見えますwww.mysite.com/Home/SearchTown/2
jQuery Mobileがこれを行うのはなぜですか?