2012-05-11 46 views
1

形式开始:ASP提交按钮的onclick/_doPostBack

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

提交按钮,我想验证(有相同的形式等提交按钮):

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

js中的确认对话框中的按钮会自动返回false:

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. is _doPostBack提交表单的另一种方式是:从我的谷歌搜索我认为这应该模拟提交,但当我提交按钮一个常规的按钮,如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> 

我只想添加确认对话框到被点击的删除按钮。我想使用一个自定义对话窗口来确认它,这个对话窗口是站点主站上的一个div,通过放置在覆盖在deleteRecordsDialog()中创建的整个屏幕的掩码顶部而显示为弹出窗口。

我想要做的是将删除任务(id =“DeleteButton)的提交按钮更改为一个常规按钮,它只是打开由deleteRecordsDialog()创建的对话框,而不是现在提交的表单提交。 ,删除联系人“按钮应该执行提交表单的任务,提交值为”删除选定“,就像提交按钮现在一样。

+0

我添加了整个脚本。让我知道是否需要其他任何东西。我正在使用MVC3 asp.net。 ASP的经典之作一定是从stackoverflow自动更正,对不起!本质上,我需要从site.master的div中形成的自定义弹出对话框的记录页上提交表单。 – user1329307

回答

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> 

Javscript

要为模式创建按钮:

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(); 
} 

此功能将点击用户最初点击按钮下方的隐藏按钮。如果您正确设置此按钮,表单应提交您所需的所有信息。

+0

如果我这样做,我不能让它提交表单并实际删除记录。如果我将其更改为按钮,我的自定义对话框会弹出,但问题是我无法使用“是”按钮来使用“删除所选参数”来模拟表单提交。 – user1329307

+0

但模式中的按钮将提交表单不是吗?这就是你的代码似乎表明的。 –

+0

这是不工作的部分 – user1329307