Rank: Advanced Member Groups: Member
Joined: 2/1/2008 Posts: 35
|
Hi,
I have a modal dialog that has a dropdown that needs to be selected giving the reason for deletion appearing upon the gridview delete button being clicked but the record has already been deleted.
I need a way to first give the option to cancel the deletion and then if confirmation to delete is given, delete the record and open the dialog and complete the dropdown selection. I can't use a cancel button on the dialog because the record has already gone.
I am using OnClientClick="eo_GetObject('Dialog1').show(true);" on the delete button but I guess I need to use something like return confirm('Are you sure you want etc.'); and then on True, fire the eo_getObject but not quite sure how to do all this onclientclick. I presume I need something like:
<script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Are you sure you wish to delete?"); if (agree) return true ; eo_GetObject('Dialog1').show(true); else return false ; } // --> </script>
If it's possible to get the code to do this correctly and know exactly what to add onclientclick I would be very greatful
Thanks.
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi,
I am not sure if I understand your question correctly. The key for dialog is Dialog.show is always non-blocking. So you can not rely on "canceling a dialog" to return false like you do with confirm. On the contrary, you should rely on "confirming a dialog" to carry out additional action. So the whole process is always two steps: The first step displays the dialog, the second step carries our any additional action you would like when user confirms the dialog.
In the case of the Grid deleting button, this means the delete button’s OnClickClick should display the dialog but always return false so that the delete is not carried out at this stage (step 1). The actual deletion code should be a call to __doPostBack and it should be moved into the dialog’s ClientSideOnAccept handler. Since your original code does not call __doPostBack directly, you may wish to use the debugger to find out the exact parameters the GridView uses to call __doPostBack so that you can simulate the same action in your code.
Hope this helps.
Thanks!
|
Rank: Advanced Member Groups: Member
Joined: 2/1/2008 Posts: 35
|
Hi, For info in case anybody is interested, I was missing a {
<script type="text/javascript"> <!-- function confirmDelete() { var answer = confirm("Confirm Delete?") if (answer) { eo_GetObject('Dialog1').show(true); } else { return false; } } //--> </script>
Called by
OnClientClick="return confirmDelete()"
|