フォームの検証を実行し、更新せずにフォームを送信するには、jQuery の 2 つの便利なプラグイン、jquery validate.js と jquery form.js を使用できます。詳細は以下で説明します。
1. jQuery validate.js 端的に言えば、非常に高貴な人が私たちに代わってさまざまな形式の検証を書いてくれているということです。毎日疲れますね。
2. jQuery form.js, "このプラグインを使用すると、HTML で送信されたフォームを、AJAX テクノロジを使用して送信されたフォームに簡単にアップグレードできます。プラグインの主なメソッド、ajaxForm と ajaxSubmit、フォーム コンポーネントから情報を収集して、フォーム送信プロセスの処理方法を決定できます。どちらのメソッドも多数のオプション パラメーターをサポートしているため、フォーム内のデータの送信を完全に制御できます。 AJAX を使用すると、このプロセスはこれ以上に簡単になります。」
以下のコード例を参照してください:
フォーム:
<form action="@Url.Action("AddColumns","Content")" method="post" id="AddColumnsForm"> <div class="form-group js-EditCol" id="AddName"> <label class="control-label">名称</label> <input name="Name" class="form-control" required /> </div> <div class="form-group js-EditCol" id="AddRemark"> <label class="control-label">备注</label> <input name="Remark" class="form-control" /> </div> <div class="form-group js-EditCol" id="AddColumnTypeId"> <label class="control-label">类型</label> <select class="form-control" name="ColumnTypeId" id="AddColumnTypeIdSel" required> </select>//下拉列表空置验证之要项目的Value值是空的就认为是空值 </div> <input type="submit" class="btn btn-primary" value="新增栏目" /> <input type="reset" class="btn btn-default" value="清空" /> </form>
javascript:
$(document).ready(function () { $("#AddColumnsForm").validate({ submitHandler: function(form) { $(form).ajaxSubmit(); } }); });
後で強化します
$(document).ready(function () { $("#AddColumnsForm").validate({ submitHandler: function(form) { $(form).ajaxSubmit({ success: function (result) { //表单提交后更新页面显示的数据 $('#TreeTable').treegrid('reload'); var d = result.split(';'); ShowMsg(d[0], d[1], d[2]); } }); } }); });
次に、ブートストラップ スタイルに準拠するようにエラー メッセージの表示位置を変更します
$(document).ready(function () { $("#AddColumnsForm").validate({ errorPlacement: function (error, element) {//自定义错误信息显示操作,element是出错的input控件,error可以认为是是包含
エラーメッセージのラベル
element.next('span.help-block').remove(); element.after('<span class="help-block">' + error.text() + '</span>'); element.parent().addClass("has-error"); },submitHandler: function(form) { $(form).ajaxSubmit({ success: function (result) { $('#TreeTable').treegrid('reload'); var d = result.split(';'); ShowMsg(d[0], d[1], d[2]); } }); } });
上記の内容は、フォーム検証後の AJAX 送信を実装するための jquery.validate プラグインと jquery.form プラグインの組み合わせを紹介しています。この記事の書き方が下手なのはご容赦ください。ありがとうございます。