JQuery ダイアログには 4 つのフィールドがあります。[保存] ボタンをクリックすると、次のことを確認して検証する必要があります
- すべての必須フィールドを検証します (validate.js および unobstructive.js を使用したフォームの送信時)
- ドロップダウンの値を確認し、それが特定のタイプ、つまり (冗長) である場合は、ユーザーに確認ダイアログを表示します。
- ユーザーが [はい] を押して確認した場合は、確認ダイアログを閉じて Ajax を呼び出します。
しかし、問題は、確認ダイアログで [はい] ボタンをクリックして確認すると、ダイアログは閉じますが、実行は下がらないことです。
つまり、フォーム データをシリアライズし、Ajax 呼び出しを行って Web サービスを呼び出します。
誰でも助けてください。
$(function () {
$('form').submit(function () {
$('#result').html(" ");
var redunt = null;
redunt = $(ClientCrud_StatusCodeId).find('option:selected').text();
if ($(ClientCrud_StatusCodeId).find('option:selected').text() == "Redundant") {
$('#clientRedundantMessage2').html("Client once made redundant cannot be reactivated. Are you sure ?");
$("#RedundantMessage2").dialog(
{
autoOpen: false,
height: 170,
width: 420,
modal: true,
resizable: false,
title: "Confirmation for Redundant",
Content: "Fields cannot be left blank.",
buttons: {
"Yes": function () {
redunt = "Active";
$('#RedundantMessage2').dialog('close');
},
"No": function () {
$(this).dialog("close");
return false;
}
}
}) //.dialog("widget").draggable("option", "containment", "none");
$("#RedundantMessage2").dialog("open");
}
if ($(this).valid())
{
debugger;
if (redunt == "Active") {
$.ajax({
url: this.action,
type: this.method,
async: false,
cache: false,
data: $(this).serialize(),
error: function (request) {
$("#result").html(request.responseText);
// event.preventDefault();
},
success: function (result) {
if (result == "success") {
$.ajax({
url: "/Client/ClientGrid",
type: 'POST',
data: { "page": 0 },
datatype: 'json',
success: function (data) {
$('#grid').html(data);
},
error: function () {
alert('Server error');
}
});
$('#myEditClientDialogContainer').dialog('close');
$('#myEditClientDialogContainer').remove()
}
else {
clearValidationSummary();
var a = '<ul><li>' + result + '</li></ul>';
$('#result').html(a);
}
}
});
}
}
$("#griderrormsg1 li").hide().filter(':lt(1)').show();
return false;
});
editallowed = true;
});