2017-07-03 14 views
0

テキストボックスから値が更新されるたびにコントローラアクションを呼び出すとします。JavascriptリダイレクトをリダイレクトするURLを連結します

<script> 
    $('#deliveryDate').change(function() { 
     var date = $('#deliveryDate').val(); 
     var sDate = date.split('/'); 
     location.href = 'dispatch/' + sDate[0] + sDate[1] + sDate[2]; 
    }); 
</script> 

そして、それは完全に最初の作品:このスクリプトは、私はこのようにそれをやってみました派遣/インデックスのコントローラのアクション

から返される同じビュー内に座っていることを

注意(つまり、ページは/dispatch/12122016にリダイレクトされます)。

しかし、値をもう一度変更すると、/dispatch/dispatch/13122016にリダイレクトされるので、値が連結されたままになり、もちろんこれによってエラーが発生します。


は私がlocation.href = '@Url.Action("Index", "Dispatch")/' + sDate[0] + sDate[1] + sDate[2];にリダイレクトラインをchaging試してみましたが、今それはちょうど私はそれが...

(すなわち、それは/dispatch/12122016/13122016に移動)する必要がどのようにリダイレクトするのではなく、URLを上の新しい日付を連結します

リテラルのURLパスを含めないでこれを行う方法はありますか?

どのように「クリア」現在のURLだけdispatch/12122016すべきですか?

+0

'dispatch'ルートはどのパスからの相対パスでも、ホストからの絶対パスでもかまいませんか? – ryeballar

+0

@ryeballarこれはホストからのものです。例えば、フルURLのデバッグが 'localhost:60775/dispatch/13122016'の場合 – Bassie

答えて

2

は、単純に、これは常にURLの変更は常に絶対的なものにバインドされていることを指示する必要があり、URLでスラッシュを付加

ボーナスとして:。私も後にあなたの日付の連結を変更しました210を結合に変換します。

$('#deliveryDate').change(function() { 
    var date = $('#deliveryDate').val(); 
    location.href = '/dispatch/' + date.split('/').join(''); 
}); 
+0

ありがとう、多くの感謝! – Bassie

0

あなたのすべてに派遣文字列を連結するには

<script> 
    $('#deliveryDate').change(function() { 
     var date = $('#deliveryDate').val(); 
     var sDate = date.split('/'); 
     Var URL = '/dispatch/' + sDate[0] + sDate[1] + sDate[2]; 
     Window.location.href = URL 
    }); 
</script> 
をリダイレクトするので。スラッシュを追加することによって、これを試してみてください、私は(必要なアクションをリダイレクトする前に、
+0

これは私の最初の試みとどのように違うのですか? (構文エラーは別として) – Bassie

+0

オープスミの誤字ミス。私は答えを編集しました – karthik006

関連する問題