2016-04-07 2 views
-1

JavaScriptが無効の場合、このフォームを送信する際に問題があります。 もちろん、@using (html.beginform())を削除すると問題が解決されます。`@using(html.beginform())`を使用していますJavaScriptは無効ですか?

@using (Html.BeginForm("AddTour", "AdminTour", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 
{ 
    <div class="row"> 
    <div class="form-gro`enter code here`up"> 
    <form id="creation" name="creation" onchange="handleSelect()"> 
    <div class="col-md-6"> 
    @{ 
    List<Airlines> AirlineId = ViewBag.AirlinesId; 
    } 
    <select id="Airline" name="Airline" disabled> 
    <option value="">- انتخاب کنید -</option> 
    @foreach (Airlines c in AirlineId) 
    { 
     <option value="@c.Id">@c.Name</option> 
    } 
    </select> 
    </div> 
    <div class="col-md-6 "> 
    <select id="TravelType" name="TravelType"> 
    <option value="">- انتخاب کنید -</option> 
    <option value="A">1</option> 
    <option value="B">2</option> 
    <option value="C">3</option> 
    </select> 
    </div> 
    </form> 
    <script> 
    function handleSelect() { 
     if (document.getElementById('TravelType').value == 'A') { 
      document.getElementById('Airline').disabled = false; 
     } else { 
      document.getElementById('Airline').disabled = true; 
     } 
    } 
    </script> 
    </div> 
    </div> 
} 

私の意見では、問題は<form>です。

onchange ="handleSelect()"または<select>を変更してフィルタを変更するにはどうすればよいですか?

+0

'もちろん@using(html.beginform())を削除すると、問題は解決されます。 –

答えて

1

<form>の要素内でJavaScriptを使用できます(JavaScriptが有効であると仮定して)Html.BeginForm()を使用して生成されたものについても同様です。

Javascriptが無効になる環境があると思われる場合は、フィルタリング要素が変更されたときに明示的に投稿を実行し、更新されたバージョンを表示することができます。

単純に要素を無効にしないで検証サーバー側を処理するだけでも問題ありません(つまり、フォームを送信するときに適切な/有効な組み合わせが選択されていることを確認します。

関連する問題