1

フォームは次のように始まります。

 <% using (Html.BeginForm("Index", "recordssbook", FormMethod.Post, new { id = "SubmitForm" }))
    { %>

検証したい送信ボタン (同じフォームに他の送信ボタンがあります):

<div><input type="submit" value="Delete Selected"  id ="DeleteButton" name="DeleteButton" onclick="deleteRecordsDialog();"/></div>

自動的に false を返す js の確認ダイアログのボタン:

function deleteRecordsDialog() {
    var returnThis;
    var numRecords = selectedRecordsArr.length;
    document.getElementById("popupContainer");
    var html = ""
    html= html + '<table>';
    html= html + '<tr>';
    html= html + '<td class="warning-icon-cell"></td>';
    html= html + '<td style="padding-left: 5px;">';
    if (numAddresses == 1) {
        html = html + '<p>You have chosen to delete a record.</p>';
    }
    else {
        html = html + '<p>You have chosen to delete ' + numRecords + ' records.</p>';
    }
    html= html + '<p>Are you sure you wish to proceed?</p>';
    html= html + '</td>';
    html= html + '</tr>';
    html = html + '</table>';
    if (numAddresses == 1) {
        html = html + '<div><input type="button" value="Yes, Delete Contact" style="width: 160px; onclick="document.DSubmitForm.HDeleteButton.submit(); CloseDialog();"/>&nbsp;&nbsp;<input type="button" value="Cancel" onclick="CloseDialog();"/></div>';
    }
    else {
        html = html + '<div><input type="submit" value="Yes, Delete Contact(s)" style="width: 160px; onclick="document.DSubmitForm.HDeleteButton.submit(); CloseDialog();"/>&nbsp;&nbsp;<input type="button" value="Cancel" onclick="CloseDialog();"/></div>';
    }
    html = html + '</div>';
    html = html + '</div>';
    html = html + '</div>';
    html = html + '</div>';
    OpenDialog(html, 350, 180, false, "Delete Contact")
    return false;
}

私の問題:

  1. onclick が false を返す場合でも、フォームは送信されます。送信の代わりに入力タイプをボタンに変更できます。疑似送信を機能させることができれば、これは機能するはずです。
  2. _doPostBack はフォームを送信する別の方法ですか?: Google 検索から、これは送信をシミュレートする必要があると思いますが、送信ボタンを番号 1 で述べたように通常のボタンにすると、[はい、レコードを削除します] をクリックしても送信されませんフォーム。
  3. これをより複雑にする複数の送信ボタンがあります
  4. JQuery の簡単な .dialog が使えない

誰かがこれを機能させるのを手伝ってくれるなら、私は大いに感謝します!

ありがとう!!

編集 したがって、html は、文字に基づいてクエリを実行したり、レコードを追加したり、レコードを削除したり、レコードを編集したりできるボタンを備えたレコードのリストです。これらのボタンはすべて、同じフォームの送信ボタンです。

<td><input type="submit" value="ABC"  name="SubmitButton"/></td>
<td><input type="submit" value="DEF"  name="SubmitButton" /></td>
<td><input type="submit" value="GHI"  name="SubmitButton" /></td>
<td><input type="submit" value="JKL"  name="SubmitButton"/></td>
<td><input type="submit" value="MNO"  name="SubmitButton"/></td>
<td><input type="submit" value="PQRS"  name="SubmitButton" /></td>
<td><input type="submit" value="TUV"  name="SubmitButton"/></td>
<td><input type="submit" value="WXYZ" name="SubmitButton" /></td>
<div><input type="button" value="Add Contact" id="addAddress" onclick="AddAddresDialog()" /></div>
<div><input type="button" value="View &amp; Edit Selected" id="EditButton" name="EditButton"  onclick="updateAddressDialog()"/></div>
<div><input type="submit" value="Delete Selected"  id ="DeleteButton" name="SubmitButton" /></div>

クリックされた削除ボタンに確認ダイアログを追加したいだけです。deleteRecordsDialog()で作成した画面全体を覆うマスクの上に配置することでポップアップとして表示されるサイトマスター上のdivであるカスタムダイアログウィンドウを使用して確認したい。

私がしたいのは、削除タスク (id="DeleteButton) の送信ボタンを、フォームの送信ではなく、deleteRecordsDialog() によって作成されたダイアログを開く通常のボタンに変更することです。「はい、連絡先を削除します(カスタム確認ダイアログの s)" ボタンは、現在送信ボタンが行っているように、「選択項目を削除」という値でフォームを送信するタスクを実行する必要があります。

4

1 に答える 1

1

HTML がないと、何をしようとしているのかを本当に理解するのは困難です。ただし、次のことを試すことができます。

HTML :

<div>
    <input type="submit" value="Delete Selected"  id ="DeleteButton" name="DeleteButton" onclick="deleteRecordsDialog();"/>
    <input type="button"  id ="DeleteButtonSubmit" name="DeleteButtonSubmit" style="display:none;" />
</div>

JavaScript :

モーダルのボタンを作成するには:

 html = html + '<div><input type="button" value="Yes, Delete Contact(s)" style="width: 160px; onclick="deleteContact();"/>&nbsp;&nbsp;<input type="button" value="Cancel" onclick="CloseDialog();"/></div>';

削除確認を投稿する関数:

function deleteContact()
{
    document.getElementById('DeleteButtonSubmit').click();
}

この関数は、ユーザーが最初にクリックしたボタンの下にある非表示のボタンをクリックします。このボタンを正しく設定すると、フォームは必要なすべての情報とともに送信されます。

于 2012-05-11T15:43:35.863 に答える