チェックボックスが選択されている場合は表示され、チェックボックスが選択されていない場合は非表示になる2つのフィールドとオプションのフィールドを持つ単純なフォームがあります-表示/非表示はjQueryによって制御されます。問題は、ページが最初にロードされたときに通常どおりフォームが送信されますが、チェックボックスをオンまたはオフにすると、送信ボタンがフォームを送信しないか、さらに奇妙なことに何もしません。
私はモデルで強く型付けされたビューを持っています:
@model Metteem.ViewModels.SchedularAccount
そして、私の簡単なスクリプトは次のとおりです。
<script type="text/javascript">
$(document).ready(function () {
$("#showhide").click(function () {
$("#alternatingInput").toggle('fast');
});
});
</script>
フォームのコードは次のとおりです。
@using (Html.BeginForm(null, null, FormMethod.Post, new { Class = "well form-horizontal" }))
{
<fieldset>
<div class="control-group">
<label class="control-label">Meeting ID</label>
<div class="controls">
@Html.TextBoxFor(model => model.MeetingId, new { Class = "input-xlarge" })
@Html.ValidationMessageFor(model => model.MeetingId, null, new { Class = "help-inline" })
</div>
</div>
<div class="control-group">
<label class="control-label">Password</label>
<div class="controls">
@Html.PasswordFor(model => model.Password, new { Class = "input-xlarge" })
@Html.ValidationMessageFor(model => model.Password, null, new { Class = "help-inline" })
</div>
</div>
<div class="control-group">
<label class="control-label">Login as Host?</label>
<div class="controls">
@Html.CheckBoxFor(model => model.IsHost, new { Class = "input-xlarge", id = "showhide" })
</div>
</div>
<div class="control-group" id="alternatingInput" style="display: block; ">
<label class="control-label">Participant ID</label>
<div class="controls">
@Html.TextBoxFor(model => model.UserId, new { Class = "input-xlarge", Value = "0" })
</div>
</div>
</fieldset>
<div class="form-actions">
@Html.ActionLink("Cancel", "Index", "Home", null, new { Class = "btn" })
<button class="btn btn-primary">Login</button>
</div>
}
私のアクションでは、HttpPost 属性があります。
[HttpPost]
public ActionResult HostParticipantLogin(SchedularAccount account)
{
//Rest of my code
}
何が問題になる可能性がありますか?