2016-05-04 1 views
2

私はからです。MVC 5でフォームを送信できないようにする方法はありますか?

@using (Html.BeginForm()) 
{ 
// From content 
<div class="form-group btn-group"> 
       <button type="submit" class="btnPrimaryStyle btn col-sm-3 col-xs-12 pull-left">Save</button> 
      </div> 
} 

すべて正常です。私は形から外れたドロップドウオンを持っています。私はチェックしたい、ドロップダウン値が選択されている場合は、それ以外の場合は提出しないフォームを送信することができます。要するに、ドロップダウン選択が必要であり、フォームから外れています。 jqueryまたはjavascriptを使用してdropdwonの天気の値が選択されているかどうかを確認できます。私の質問は、値が選択されていない場合、フォームを送信するのを防ぐ方法です。 jQueryを使って

+1

形態 '.submit()'イベントを処理し、必要に応じて取り消します。 –

答えて

5

それは簡単です:

$("#your-form-id").submit(function (e) { // note that it's better to use form Id to select form 
     if($("#YourDropDownID").val() == 0 || $("#YourDropDownID").val() == '') // here you check your drop down selected value 
     { 
     e.preventDefault(); // here you stop submitting form 
     } 
} 

フォームを使用するには、このオーバーロードをIDを設定する:

Html.BeginForm(null, null, FormMethod.Post, new { id = "your_form_id" }) 
1

私はこれを処理するための最も正しい方法は、検証http://www.asp.net/mvc/overview/getting-started/introduction/adding-validation

を使用することだと思います

検証属性を持つドロップダウンリストにバインドされたモデルのフィールドにマークを付けます。 この方法の利点 - サーバー側でModelState.IsValidを呼び出して検証できます。サーバーの検証は、JavaScriptが無効になっても機能します。

+0

OPは、ドロップダウンリストが**の形式ではない**と述べています –

関連する問題