2016-04-07 76 views
-1

JavaScript禁用時發佈此表單存在問題。 當然,當我刪除@using (html.beginform())它修復了這個問題。using @using(html.beginform())JavaScript is Disabled?

@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的環境,則可以考慮在過濾元素更改並顯示更新後的版本(即禁用元素)時明確執行帖子以反映這些更改。

您也可以考慮根本不禁用該元素,而只是處理驗證服務器端(即確保用戶在提交表單時選擇了正確/有效的組合,否則顯示驗證錯誤)。

相關問題