私には独特の問題があります。フォームがあり、それを使用して既存の各従業員データを編集します。ユーザーが新しい従業員を作成したい場合、ボタンをクリックするとモーダル ダイアログが開き、同じフォームがダイアログに表示されます。隠しフィールドの値を「作成」に設定して、フォームが作成モードではなく作成モードであることを示します。 '編集モード。ajax を使用してフォームを asp.net ハンドラーに送信し、フォーム データを処理しています。フォームをハンドラーに送信するために使用しているコードの一部を次に示します (frmHPHirerGuarantor はフォームの ID です)。
function SaveHPHirer(formMode) {
if (formMode == 'Edit') {
$('#formState').val('Edit');
$('#txtCaseNo').prop('readonly', true);
}
else {
$('#formState').val('Create');
$('#txtCaseNo').prop('readonly', false);
}
$.post("Handlers/ManageHPHirer.ashx?method=createNewHPHirer", $("#frmHPHirerGuarantor").serialize())
.done(function (data) {
if (data.trim().length > 0) {
$("#sent").text("Error");
}
else {
$("#sent").text("Success");
}
});
}
さて、問題は、ダイアログ内からフォームを送信すると、表向きは同じIDを持っているため、メインページにあるフォームがシリアル化され、ダイアログにあるフォームではありません。しかし、私はこの動作を望んでいません。従業員を作成するための別のフォームを作成しなくても、ダイアログでフォームを送信する方法はありますか?