473,508 Members | 2,509 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to differentiate between click event of multiple server buttons

Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike

Jun 5 '06 #1
5 2438
the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>

if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.

if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.

if the user clicks submit1, the postback data is

input1=hiddenvalue@submit1=value1

if the user clicks submit2, the postback data is

input1=hiddenvalue@submit2=value2

if the user clicks button1, the postback data is

input1=hiddenvalue

as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.

for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.

note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike

Jun 5 '06 #2
Lit
Bruce,

If my checkbox was checked to begin with and I uncheck it before I hit the
Submit button then the server knows that I unchecked the checkbox just
because its value was not posted back? What was the reason to have such
rules? more efficient?
Where did "<input type=hidden name=input1 value=hiddenvalue>" come from?
Auto generated?

what is value=submit value=value1 < causing error
do you have an example that works and well formed <html> or xhtml

Lit


"bruce barker (sqlwork.com)" <b_*************************@sqlwork.com> wrote
in message news:ON**************@TK2MSFTNGP03.phx.gbl...
the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>

if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.

if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.

if the user clicks submit1, the postback data is

input1=hiddenvalue@submit1=value1

if the user clicks submit2, the postback data is

input1=hiddenvalue@submit2=value2

if the user clicks button1, the postback data is

input1=hiddenvalue

as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.

for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.

note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike


Jun 6 '06 #3
Hi Bruce,
Excellent...Marvelous...
I was looking for exactly such explanation. Thanks.
I am really oblidged for explaining me this stuff. I was really not
aware what is packed in an envelope when a button of type submit is
clicked.
Coupld you please post a link where I can read about this very BASIC
rules of how what elements of a form is posted. Because sometime I use
readonly textboxes and sometimes they are disables and I set is values
using javascript and when I postback I get values for some controls
while not for other controls depending on whether they are READONLY or
Disabled.
Thanks again for sharing this basic but very important to remember
technics.
--Mike

bruce barker (sqlwork.com) wrote:
the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>

if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.

if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.

if the user clicks submit1, the postback data is

input1=hiddenvalue@submit1=value1

if the user clicks submit2, the postback data is

input1=hiddenvalue@submit2=value2

if the user clicks button1, the postback data is

input1=hiddenvalue

as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.

for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.

note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike


Jun 6 '06 #4
Hi Lit,
As I understand, It it is server side CheckBox and its viewstate is
TRUE then server can easily differentiate between the true and false
value when user changes it.
When it constructs the page object while postback operation it will
create all server side controls within the page andd set its properties
using "__ViewState". After that it checks to see the posted values and
applies them.
Now if the checkbox was originally checked then its value will be there
in "__ViewState". If user clears it and performs a PostBack then server
will first create checkbox with its original value i.e. checked=TRUE.
Then it will query the posted values in the Request.Form() collection.
If it does not find a checkbox in collection (as stated in Bruce's
post, if a checkbox is cleared it is not postedback) then the framework
will clear the checkbox value i.e. Checked=FALSE.
I hope this answers your question.
--Mike

Lit wrote:
Bruce,

If my checkbox was checked to begin with and I uncheck it before I hit the
Submit button then the server knows that I unchecked the checkbox just
because its value was not posted back? What was the reason to have such
rules? more efficient?
Where did "<input type=hidden name=input1 value=hiddenvalue>" come from?
Auto generated?

what is value=submit value=value1 < causing error
do you have an example that works and well formed <html> or xhtml

Lit


"bruce barker (sqlwork.com)" <b_*************************@sqlwork.com> wrote
in message news:ON**************@TK2MSFTNGP03.phx.gbl...
the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>

if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.

if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.

if the user clicks submit1, the postback data is

input1=hiddenvalue@submit1=value1

if the user clicks submit2, the postback data is

input1=hiddenvalue@submit2=value2

if the user clicks button1, the postback data is

input1=hiddenvalue

as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.

for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.

note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike



Jun 6 '06 #5
Hi Bruce,
Excellent...Marvelous...
I was looking for exactly such explanation. Thanks.
I am really oblidged for explaining me this stuff. I was really not
aware what is packed in an envelope when a button of type submit is
clicked.
Coupld you please post a link where I can read about this very BASIC
rules of how what elements of a form is posted. Because sometime I use
readonly textboxes and sometimes they are disables and I set is values
using javascript and when I postback I get values for some controls
while not for other controls depending on whether they are READONLY or
Disabled.
Thanks again for sharing this basic but very important to remember
technics.
--Mike
bruce barker (sqlwork.com) wrote:
the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>

if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.

if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.

if the user clicks submit1, the postback data is

input1=hiddenvalue@submit1=value1

if the user clicks submit2, the postback data is

input1=hiddenvalue@submit2=value2

if the user clicks button1, the postback data is

input1=hiddenvalue

as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.

for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.

note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.

Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.

I am really puzzled on ...
HOW server determines which button has been clicked.

because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike


Jun 6 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
11207
by: DEK | last post by:
Stepping through my code the click eventhandler code executes through a few times before it finally stops. Even though I only click the button once, is there a reason for this, I have a few if...
4
4010
by: Mark Lingen | last post by:
I've found a problem with postback event handling and webcontrol buttons. Try out the following code in an ASP.Net project and you will see. Create a web project in VB.Net and drop this code...
1
1063
by: Galina Grechka | last post by:
Hi, I have this strange problem. After I recompiled my ASP.NET project and then open project as a user from web browser, code behing some buttons doesn't execute at all. It works on my...
2
3850
by: mark | last post by:
Is there a means of raising an event when ANY button on a windows application form is clicked wherein the actual button clicked can be determined in the generic click events code (eg by way of...
41
4240
by: JohnR | last post by:
In it's simplest form, assume that I have created a usercontrol, WSToolBarButton that contains a button. I would like to eventually create copies of WSToolBarButton dynamically at run time based...
0
2934
by: Demetri | last post by:
I have created a web control that can be rendered as either a linkbutton or a button. It is a ConfirmButton control that allows a developer to force a user to confirm if they intended to click it...
6
10068
by: Terry | last post by:
Good morning! How do I determine which SELECT button was clicked in a GridView? The multiple SELECT buttons will be used for an application approval process. Thank you in advance for your...
3
2446
by: Andreas Wöckl | last post by:
HI Group! I have to programmatically create a user input form with various Checkbox and RadioButton lists - Beside every List I have to place an image button that is able to reset the...
19
4534
Frinavale
by: Frinavale | last post by:
I'm in the middle of implementing a custom Ajax enabled Server Control. At this point I need help finding the answer to an Ajax Framework question...here it goes: I have a Server Control that...
0
7133
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7336
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7405
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7504
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5059
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4724
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
1568
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
773
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
435
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.