Tuesday, June 4, 2024
 Popular · Latest · Hot · Upcoming
96
rated 0 times [  100] [ 4]  / answers: 1 / hits: 111141  / 13 Years ago, wed, june 1, 2011, 12:00:00

How do I call the showDialog from a asp.net button click event. My page is a contentpage that has a masterpage associated with it.



I have tried the following



<asp:Button ID=ButtonAdd runat=server Text=Add 
OnClientClick=showDialog('#addPerson'); />
<asp:Button ID=ButtonAdd runat=server Text=Add
OnClientClick=showDialog(#<%=addPerson.ClientID %>); />


I am also going to have to call this same function from a gridview template button to modify the record on the dialog.



<script type=text/javascript>


// Used the following example to open the dialog withJquery
var dl;
$(document).ready(function () {

//Adding the event of opening the dialog from the asp.net add button.
//setup edit person dialog
$('#addPerson').dialog({
//Setting up the dialog properties.
show: blind,
hide: fold,
resizable: false,
modal: true,
height: 400,
width: 700,
title: Add New Member,
open: function (type, data) {
$(this).parent().appendTo(form:first);
}
});

//setup edit person dialog
$('#editPerson').dialog({
//Setting up the dialog properties.
show: blind,
hide: fold,
resizable: false,
modal: true,
height: 400,
width: 700,
title: Modify Member,
open: function (type, data) {
$(this).parent().appendTo(form);
}
});



function showDialog(id) {
$('#' + id).dialog(open);
}



// function closeDialog(id) {
// $('#' + id).dialog(close);
// }

//Adding a event handler for the close button that will close the dialog
$(a[id*=ButtonCloseDlg]).click(function (e) {
$(#divDlg).dialog(close);
return false;
});
});

</script>


Tried to call the jquery dialog from a gridview editbutton and get the same error Object doesnt support this property or method?



<input type=submit name=ctl00$ContentPlaceHolder1$GridViewMembers$ctl02$Button1 value=Edit onclick=showDialog(&#39;addPerson&#39;); id=ContentPlaceHolder1_GridViewMembers_Button1_0 />

More From » jquery

 Answers
96

If you don't need to initiate a post back when you press this button, then making the overhead of a server control isn't necesary.



<input id=addButton type=button value=Add />

<script type=text/javascript language=javascript>
$(document).ready(function()
{
$('#addButton').click(function()
{
showDialog('#addPerson');
});
});
</script>


If you still need to be able to do a post back, you can conditionally stop the rest of the button actions with a little different code:



<asp:Button ID=buttonAdd runat=server Text=Add />

<script type=text/javascript language=javascript>
$(document).ready(function()
{
$('#<%= buttonAdd.ClientID %>').click(function(e)
{
showDialog('#addPerson');

if(/*Some Condition Is Not Met*/)
return false;
});
});
</script>

[#91928] Tuesday, May 31, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
annalise

Total Points: 210
Total Questions: 94
Total Answers: 102

Location: The Bahamas
Member since Tue, Apr 27, 2021
3 Years ago
;