.NET MVCに複数のボタンで送信できるフォームがあります。1秒間のクリックを送信するJqueryフォーム
$(document).ready(function(){
$("[data-crm-action]").on("click", function (e) {
e.preventDefault();
$("#EventCommand").val($(this).data("crm-action"));
$("form").submit();
});
});
は、しかし、私が送信されたフォームを確認するためにボタンを二回クリックする必要があります。特定の値にeventCommand隠しフィールドを設定し、各ボタンには、フォームとても似提出します。なぜそれは最初のクリックで提出しないのですか?最初のクリックで、カーソルは検索フィールドのテキストボックスに戻されます。電子メールフィールドには注釈付きのモデルで必要なタグが付けられていますが、私はボタンにformnovalidateを追加しようとしましたが、まだそれを行います。
ここでビューからいくつかのコードです:
@using (Html.BeginForm())
{
@Html.HiddenFor(m => m.EventCommand)
@Html.HiddenFor(m => m.IsValid)
@Html.HiddenFor(m => m.Mode)
<!-- BEGIN SEARCH AREA -->
if (Model.IsSearchAreaVisible)
{
<div class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title">Search for Users</h1>
</div>
<div class="panel-body">
<div class="form-group">
@Html.LabelFor(m => m.SearchEntity.Email):
@Html.TextBoxFor(m => m.SearchEntity.Email, new { @class = "form-control" })
</div>
</div>
<div class="panel-footer">
<button id="btnSearch" class="btn btn-sm btn-primary" data-crm-action="search">
<i class="glyphicon glyphicon-search"></i> Search
</button>
<button id="btnReset" class="btn btn-sm btn-primary" data-crm-action="resetsearch">
<i class="glyphicon glyphicon-share-alt"></i> Reset
</button>
<button id="btnAdd" class="btn btn-sm btn-success" data-crm-action="add">
<i class="glyphicon glyphicon-plus"></i> Add
</button>
</div>
</div>
}
<!-- END SEARCH AREA -->
<!-- BEGIN DETAIL AREA -->
if (Model.IsDetailAreaVisible)
{
<div class="panel panel-primary">
<div class="panel-heading">
<h1 class="panel-title">User Information</h1>
</div>
<div class="panel-body">
<!-- BEGIN MESSAGE AREA -->
<div class="row">
<div class="col-sm-12">
@if (!Model.IsValid)
{
<div class="alert alert-danger alert-dismissable" role="alert">
<button type="button" class="close" data-dissmiss="alert">
<span aria-hidden="true">
×
</span>
<span class="sr-only">Close</span>
</button>
@Html.ValidationSummary(false)
</div>
}
</div>
</div>
<!-- END MESSAGE AREA -->
<div class="form-group">
@Html.LabelFor(m => m.Entity.FirstName)
@Html.TextBoxFor(m => m.Entity.FirstName, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.LastName)
@Html.TextBoxFor(m => m.Entity.LastName, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.Title)
@Html.TextBoxFor(m => m.Entity.Title, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.Email)
@Html.TextBoxFor(m => m.Entity.Email, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.Phone)
@Html.TextBoxFor(m => m.Entity.Phone, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.PhoneExtension)
@Html.TextBoxFor(m => m.Entity.PhoneExtension, new { @class = "form-control" })
@Html.LabelFor(m => m.Entity.IsActive)
@Html.EditorFor(m => m.Entity.IsActive)
@Html.LabelFor(m => m.Entity.AccessLevelID)
@Html.TextBoxFor(m => m.Entity.AccessLevelID, new { @class = "form-control" })
</div>
</div>
<div class="panel-footer">
<button id="btnSave" class="btn btn-sm btn-primary" data-crm-action="save" formnovalidate="formnovalidate">
<i class="glyphicon glyphicon-floppy-disk"></i> Save
</button>
<button id="btnCancelAdd" class="btn btn-sm btn-primary" data-crm-action="cancelAdd" formnovalidate="formnovalidate">
<i class="glyphicon glyphicon-remove-sign"></i> Cancel
</button>
</div>
</div>
}
このコードは完全にうまく見えます。 – Shyju
アプリケーションの別の設定から来る可能性はありますか? – Greg
かもしれません。あなたはあなたのアプリからその質問にいくつかのコードだけを投稿しました。だから私たちはそれがどこに問題を引き起こしているのか分かりません。 – Shyju