By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,564 Members | 804 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,564 IT Pros & Developers. It's quick & easy.

Disable button after first click

P: n/a
Anyone knows the method/codes to disable the clicked button after first
click by using .aspx-- to prevent people to click many time when waiting for
the server response.

I tried to do this by adding a java script for the button. But, useless..

Please help! Thank you
Nov 17 '05 #1
Share this Question
Share on Google+
14 Replies


P: n/a
Using Javascript(Client side
You can add a javascript onclick handler in the .cs file as unde

string x = "document.Form1.Button1.disabled=true"
this.Button1.Attributes.Add("onclick",x)

To do the same on the server side

add the following to your button click event handler { i.e the function --private void Button1_Click(object sender, System.EventArgs e)
this.Button1.Enabled=false
Nov 17 '05 #2

P: n/a
Sinity,

I'm just about to post the code to do this on my website, but here you go:

It stops the submit, but even better it calls some of the same .Net client
side code and doesn't disable the button if any required field validators
aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first
click by using .aspx-- to prevent people to click many time when waiting for the server response.

I tried to do this by adding a java script for the button. But, useless..

Please help! Thank you

Nov 17 '05 #3

P: n/a
> if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true; <<< ----- You mean return false; right?
}
Homa Wong
"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message news:<ud**************@TK2MSFTNGP10.phx.gbl>... Sinity,

I'm just about to post the code to do this on my website, but here you go:

It stops the submit, but even better it calls some of the same .Net client
side code and doesn't disable the button if any required field validators
aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first
click by using .aspx-- to prevent people to click many time when waiting

for
the server response.

I tried to do this by adding a java script for the button. But, useless..

Please help! Thank you

Nov 17 '05 #4

P: n/a
As the server response is slow something because of the network traffic,
users click again and again.

how can I manage this problem in aspx level?

I am using VB.NET as the devevelopment tool
"S. Justin Gengo" <sj*****@aboutfortunate.com> 级糶秎ン穝籇
:ud**************@TK2MSFTNGP10.phx.gbl...
Sinity,

I'm just about to post the code to do this on my website, but here you go:

It stops the submit, but even better it calls some of the same .Net client
side code and doesn't disable the button if any required field validators
aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first
click by using .aspx-- to prevent people to click many time when waiting

for
the server response.

I tried to do this by adding a java script for the button. But, useless..
Please help! Thank you


Nov 17 '05 #5

P: n/a
If IsPostBack Then
button.enabled = false
End If

"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first
click by using .aspx-- to prevent people to click many time when waiting for the server response.

I tried to do this by adding a java script for the button. But, useless..

Please help! Thank you

Nov 17 '05 #6

P: n/a
No, "return false;" is correct. Try it out.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Homa" <ho******@yahoo.com> wrote in message
news:a9**************************@posting.google.c om...
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true; <<< ----- You mean return false; right?
}


Homa Wong
"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message

news:<ud**************@TK2MSFTNGP10.phx.gbl>...
Sinity,

I'm just about to post the code to do this on my website, but here you go:
It stops the submit, but even better it calls some of the same .Net client side code and doesn't disable the button if any required field validators aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first click by using .aspx-- to prevent people to click many time when waiting
for
the server response.

I tried to do this by adding a java script for the button. But,

useless..
Please help! Thank you

Nov 17 '05 #7

P: n/a

?? But I thought you wrote "return true" ??

Homa Wong
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 17 '05 #8

P: n/a
Homa,

Now I've confused myself! Yes, it has to be "return true;".

This is because the submit button's click event fires off two different
asp.net javascripts. One is the javascript I'm tying into:
Page_ClientValidate, the other is a javascript that checks the required
field validators.

At the point in question inside of my javascript if the Button doesn't get
clicked (which is what "return false;" would cause then any validators on
the page wouldn't get displayed properly.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Homa Wong" <no*****@MyWorld.com> wrote in message
news:eN**************@TK2MSFTNGP09.phx.gbl...

?? But I thought you wrote "return true" ??

Homa Wong
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 17 '05 #9

P: n/a
haha,

...."Out of chaos comes order."
Homa Wong

"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message news:<u6**************@TK2MSFTNGP11.phx.gbl>...
Homa,

Now I've confused myself! Yes, it has to be "return true;".

This is because the submit button's click event fires off two different
asp.net javascripts. One is the javascript I'm tying into:
Page_ClientValidate, the other is a javascript that checks the required
field validators.

At the point in question inside of my javascript if the Button doesn't get
clicked (which is what "return false;" would cause then any validators on
the page wouldn't get displayed properly.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Homa Wong" <no*****@MyWorld.com> wrote in message
news:eN**************@TK2MSFTNGP09.phx.gbl...

?? But I thought you wrote "return true" ??

Homa Wong
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 17 '05 #10

P: n/a
LOL

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Homa" <ho******@yahoo.com> wrote in message
news:a9**************************@posting.google.c om...
haha,

..."Out of chaos comes order."
Homa Wong

"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message

news:<u6**************@TK2MSFTNGP11.phx.gbl>...
Homa,

Now I've confused myself! Yes, it has to be "return true;".

This is because the submit button's click event fires off two different
asp.net javascripts. One is the javascript I'm tying into:
Page_ClientValidate, the other is a javascript that checks the required
field validators.

At the point in question inside of my javascript if the Button doesn't get clicked (which is what "return false;" would cause then any validators on the page wouldn't get displayed properly.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Homa Wong" <no*****@MyWorld.com> wrote in message
news:eN**************@TK2MSFTNGP09.phx.gbl...

?? But I thought you wrote "return true" ??

Homa Wong
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 17 '05 #11

P: n/a
You could try using an if/then that checks a session variable to see if it's
set to true. Then inside of the if/then set the session variable to be
false. That way if the form is submitted a second time the code inside the
if/then won't be run a second time...

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:eR**************@TK2MSFTNGP10.phx.gbl...
As the server response is slow something because of the network traffic,
users click again and again.

how can I manage this problem in aspx level?

I am using VB.NET as the devevelopment tool
"S. Justin Gengo" <sj*****@aboutfortunate.com> 级糶秎ン穝籇
:ud**************@TK2MSFTNGP10.phx.gbl...
Sinity,

I'm just about to post the code to do this on my website, but here you go:

It stops the submit, but even better it calls some of the same .Net client side code and doesn't disable the button if any required field validators aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Anyone knows the method/codes to disable the clicked button after first click by using .aspx-- to prevent people to click many time when
waiting for
the server response.

I tried to do this by adding a java script for the button. But,

useless..
Please help! Thank you



Nov 17 '05 #12

P: n/a
This is very basic ASP.NET stuff:

If IsPostBack Then
button.enabled = false
End If

The ability to determine if a form is being submitted for the first time is
already built into the ASP.NET architecture.

"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:u%***************@TK2MSFTNGP11.phx.gbl...
You could try using an if/then that checks a session variable to see if it's set to true. Then inside of the if/then set the session variable to be
false. That way if the form is submitted a second time the code inside the
if/then won't be run a second time...

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:eR**************@TK2MSFTNGP10.phx.gbl...
As the server response is slow something because of the network traffic,
users click again and again.

how can I manage this problem in aspx level?

I am using VB.NET as the devevelopment tool
"S. Justin Gengo" <sj*****@aboutfortunate.com> 级糶秎ン穝籇
:ud**************@TK2MSFTNGP10.phx.gbl...
Sinity,

I'm just about to post the code to do this on my website, but here you go:
It stops the submit, but even better it calls some of the same .Net client side code and doesn't disable the button if any required field validators aren't valid and the page doesn't actually submit.

<script language="javascript">
<!--
var submitcount=0;

function disableSubmit()
{
if (typeof(Page_ClientValidate)=='function')
{
if (Page_ClientValidate() == true)
{
return checkSubmit();
}
else
{
return true;
}
}
else
{
return checkSubmit();
}
}

function checkSubmit()
{
if (submitcount == 0)
{
submitcount++; return true;
}
else
{
alert('This form has already been submitted.'); return false;
}
}
//-->
</script>

Attach it to your button like so:

SubmitButton.Attributes.Add("onClick", "javascript: return
disableSubmit();")
Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
> Anyone knows the method/codes to disable the clicked button after first > click by using .aspx-- to prevent people to click many time when waiting for
> the server response.
>
> I tried to do this by adding a java script for the button. But,

useless..
>
> Please help! Thank you
>
>



Nov 17 '05 #13

P: n/a
Scott,

Maybe I misunderstood sinity, but I thought the problem was keeping the user
from clicking the submit button a second time before the postback to the
server was complete.

If that happens (say when a user is submitting an order for processing) they
would end up with two orders. It wouldn't matter if you disable the button
from server side code like in the example you gave because back on the
client the button would still be enabled until the round trip of the post
back is completed. Sinity says that the server process takes a long time
which means that the client has plenty of time to try clicking submit again.

The javascript I supplied disables the button client side, but only if the
client has javascript. I think Sinity is asking for a way to keep a second
submit from processing if it does escape the javascript. I only know of two
ways to do that. One is to use a session variable like I suggested. The
other would only work if information is being databased. As long as the
database has a timestamp, the information being entered could be checked
against existing entries to see if there is an entry that contains identical
info. And if an identical entry is found, check its timestamp and stop the
processing if the timestamps are, say, up to only 30 seconds apart.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Scott M." <s-***@badspamsnet.net> wrote in message
news:eS**************@tk2msftngp13.phx.gbl...
This is very basic ASP.NET stuff:

If IsPostBack Then
button.enabled = false
End If

The ability to determine if a form is being submitted for the first time is already built into the ASP.NET architecture.

"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:u%***************@TK2MSFTNGP11.phx.gbl...
You could try using an if/then that checks a session variable to see if

it's
set to true. Then inside of the if/then set the session variable to be
false. That way if the form is submitted a second time the code inside the if/then won't be run a second time...

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:eR**************@TK2MSFTNGP10.phx.gbl...
As the server response is slow something because of the network traffic, users click again and again.

how can I manage this problem in aspx level?

I am using VB.NET as the devevelopment tool
"S. Justin Gengo" <sj*****@aboutfortunate.com> 级糶秎ン穝籇
:ud**************@TK2MSFTNGP10.phx.gbl...
> Sinity,
>
> I'm just about to post the code to do this on my website, but here you
go:
>
> It stops the submit, but even better it calls some of the same .Net

client
> side code and doesn't disable the button if any required field

validators
> aren't valid and the page doesn't actually submit.
>
> <script language="javascript">
> <!--
> var submitcount=0;
>
> function disableSubmit()
> {
> if (typeof(Page_ClientValidate)=='function')
> {
> if (Page_ClientValidate() == true)
> {
> return checkSubmit();
> }
> else
> {
> return true;
> }
> }
> else
> {
> return checkSubmit();
> }
> }
>
> function checkSubmit()
> {
> if (submitcount == 0)
> {
> submitcount++; return true;
> }
> else
> {
> alert('This form has already been submitted.'); return

false; > }
> }
> //-->
> </script>
>
> Attach it to your button like so:
>
> SubmitButton.Attributes.Add("onClick", "javascript: return
> disableSubmit();")
>
>
> Sincerely,
>
> --
> S. Justin Gengo, MCP
> Web Developer
>
> Free code library at:
> www.aboutfortunate.com
>
> "Out of chaos comes order."
> Nietzche
>
>
> "Sinity" <si****@msn.com> wrote in message
> news:%2****************@TK2MSFTNGP11.phx.gbl...
> > Anyone knows the method/codes to disable the clicked button after

first
> > click by using .aspx-- to prevent people to click many time when

waiting
> for
> > the server response.
> >
> > I tried to do this by adding a java script for the button. But,
useless..
> >
> > Please help! Thank you
> >
> >
>
>



Nov 17 '05 #14

P: n/a
Yes, you're right. I think it was me who misunderstood. Thanks.
"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:e4**************@TK2MSFTNGP09.phx.gbl...
Scott,

Maybe I misunderstood sinity, but I thought the problem was keeping the user from clicking the submit button a second time before the postback to the
server was complete.

If that happens (say when a user is submitting an order for processing) they would end up with two orders. It wouldn't matter if you disable the button
from server side code like in the example you gave because back on the
client the button would still be enabled until the round trip of the post
back is completed. Sinity says that the server process takes a long time
which means that the client has plenty of time to try clicking submit again.
The javascript I supplied disables the button client side, but only if the
client has javascript. I think Sinity is asking for a way to keep a second
submit from processing if it does escape the javascript. I only know of two ways to do that. One is to use a session variable like I suggested. The
other would only work if information is being databased. As long as the
database has a timestamp, the information being entered could be checked
against existing entries to see if there is an entry that contains identical info. And if an identical entry is found, check its timestamp and stop the
processing if the timestamps are, say, up to only 30 seconds apart.

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Scott M." <s-***@badspamsnet.net> wrote in message
news:eS**************@tk2msftngp13.phx.gbl...
This is very basic ASP.NET stuff:

If IsPostBack Then
button.enabled = false
End If

The ability to determine if a form is being submitted for the first time

is
already built into the ASP.NET architecture.

"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:u%***************@TK2MSFTNGP11.phx.gbl...
You could try using an if/then that checks a session variable to see if
it's
set to true. Then inside of the if/then set the session variable to be
false. That way if the form is submitted a second time the code inside the if/then won't be run a second time...

Sincerely,

--
S. Justin Gengo, MCP
Web Developer

Free code library at:
www.aboutfortunate.com

"Out of chaos comes order."
Nietzche
"Sinity" <si****@msn.com> wrote in message
news:eR**************@TK2MSFTNGP10.phx.gbl...
> As the server response is slow something because of the network traffic, > users click again and again.
>
> how can I manage this problem in aspx level?
>
> I am using VB.NET as the devevelopment tool
>
>
> "S. Justin Gengo" <sj*****@aboutfortunate.com> 级糶秎ン穝籇
> :ud**************@TK2MSFTNGP10.phx.gbl...
> > Sinity,
> >
> > I'm just about to post the code to do this on my website, but here you go:
> >
> > It stops the submit, but even better it calls some of the same
..Net client
> > side code and doesn't disable the button if any required field
validators
> > aren't valid and the page doesn't actually submit.
> >
> > <script language="javascript">
> > <!--
> > var submitcount=0;
> >
> > function disableSubmit()
> > {
> > if (typeof(Page_ClientValidate)=='function')
> > {
> > if (Page_ClientValidate() == true)
> > {
> > return checkSubmit();
> > }
> > else
> > {
> > return true;
> > }
> > }
> > else
> > {
> > return checkSubmit();
> > }
> > }
> >
> > function checkSubmit()
> > {
> > if (submitcount == 0)
> > {
> > submitcount++; return true;
> > }
> > else
> > {
> > alert('This form has already been submitted.'); return

false; > > }
> > }
> > //-->
> > </script>
> >
> > Attach it to your button like so:
> >
> > SubmitButton.Attributes.Add("onClick", "javascript: return
> > disableSubmit();")
> >
> >
> > Sincerely,
> >
> > --
> > S. Justin Gengo, MCP
> > Web Developer
> >
> > Free code library at:
> > www.aboutfortunate.com
> >
> > "Out of chaos comes order."
> > Nietzche
> >
> >
> > "Sinity" <si****@msn.com> wrote in message
> > news:%2****************@TK2MSFTNGP11.phx.gbl...
> > > Anyone knows the method/codes to disable the clicked button after first
> > > click by using .aspx-- to prevent people to click many time when
waiting
> > for
> > > the server response.
> > >
> > > I tried to do this by adding a java script for the button. But,
> useless..
> > >
> > > Please help! Thank you
> > >
> > >
> >
> >
>
>



Nov 17 '05 #15

This discussion thread is closed

Replies have been disabled for this discussion.