Hello.
I have a web app that accepts credit card payments.
I want to use AJAX to do an asynchronous post to the server and process the
payment. I am using the UpdateProgress control to show a progress indicator.
Two questions:
1) If the user clicks the button more twice will the payment be processed
twice? I performed a test where I just added text to a lable in the same
UpdatePanel as the button and the text did not "double up" when I clicked
the Submit button twice. So it "seems" as though the payment wouldn't be
process twice. And,
2) Is there a way to "Lock" the screen so that the user can't click the
Submit button more than once (in the event that my assumption in #1 is
wrong)?
Thanks in advance,
Mike
> 2) Is there a way to "Lock" the screen so that the user can't click the
> Submit button more than once (in the event that my assumption in #1 is
> wrong)?
Why not just disable the button as soon as it has been clicked once...?

Signature
Mark Rae
ASP.NET MVP
http://www.markrae.net
milop - 31 Mar 2008 09:56 GMT
I could do that but I'm curious about AJAX's behavior.
>> 2) Is there a way to "Lock" the screen so that the user can't click the
>> Submit button more than once (in the event that my assumption in #1 is
>> wrong)?
>
> Why not just disable the button as soon as it has been clicked once...?
> Hello.
>
[quoted text clipped - 10 lines]
> the Submit button twice. So it "seems" as though the payment wouldn't be
> process twice. And,
What processing service do you use? I think upon clicking the button
you will get redirected to the payment page to make the payment
(entering data). In this case it wouldn't be process twice in any case.
> Hello.
>
[quoted text clipped - 11 lines]
> the Submit button twice. So it "seems" as though the payment wouldn't be
> process twice. And,
There are a couple of ways to avoid this. One is to set up, as part of your
asynch request, a "code" (GUID is fine) that is sent with the request. You
can avoid double bumps by storing the "code" when the user clicks the button
the first time. You then check for status of that code prior to running the
payment.
I would use the disable as well as this, just in case.
> 2) Is there a way to "Lock" the screen so that the user can't click the
> Submit button more than once (in the event that my assumption in #1 is
> wrong)?
AJAX allows you to use a modal dialog. You can bring it down when the asynch
return is complete. You can also disable the button on click, which is a bit
easier. It depends on whether you want the user to be able to do nothing or
not.

Signature
Gregory A. Beamer
MVP, MCP: +I, SE, SD, DBA
Subscribe to my blog
http://gregorybeamer.spaces.live.com/lists/feed.rss
or just read it:
http://gregorybeamer.spaces.live.com/
*************************************************
| Think outside the box!
*************************************************
milop - 31 Mar 2008 09:55 GMT
Hi Greg. Thanks for the response.
Yes, I want the user to do nothing. Is there a modal dialog "object" as part
of AJAX?
>> Hello.
>>
[quoted text clipped - 31 lines]
> | Think outside the box! |
> *************************************************