disabling a button server-side then re-enabling client-side breaks button postback
Posted on
16th Feb 2014 07:03 pm by
admin
I have a tabbed container and a button (not in the container) on a page. If the first tab is selected, I want the button enabled. If the second is selected, I want the button disabled. I have created this functionaliity, but I have encountered some odd behavior.
Switching tabs is handled client-side, and therefore, when the tabs are switched, I use something like the following to enable/disable the button client-side based on which tab is selected:view plaincopy to clipboardprint?var saveButton = document.getElementById("<%= btnSave.ClientID %>") if (saveButton) { saveButton.disabled=false; if mytab=="Tab2") { saveButton.disabled=true; } } var saveButton = document.getElementById("<%= btnSave.ClientID %>")
if (saveButton) {
saveButton.disabled=false;
if mytab=="Tab2") {
saveButton.disabled=true;
}
}view plaincopy to clipboardprint? view plaincopy to clipboardprint?This works great but the first problem I run into is, if a control on the second tab (the button is disalbed when this tab is selected) causes a postback, then after the postback the button's state is returned to enabled. This sort of makes sense since the page lifecycle, at this point, knows nothing about what the button state should be. I decided the solution to this would be to check what the current tab is during page load, and if it is the second tab, set the button enabled property to false. In this way, when a postback occurs on the second tab, the button remains disabled. Well, this works to a charm, but I encountered a bizzare side-effect. This works great but the first problem I run into is, if a control on the second tab (the button is disalbed when this tab is selected) causes a postback, then after the postback the button's state is returned to enabled. This sort of makes sense since the page lifecycle, at this point, knows nothing about what the button state should be. I decided the solution to this would be to check what the current tab is during page load, and if it is the second tab, set the button enabled property to false. In this way, when a postback occurs on the second tab, the button remains disabled. Well, this works to a charm, but I encountered a bizzare side-effect.view plaincopy to clipboardprint? view plaincopy to clipboardprint?On the second tab, a postback is caused. The button remains disabled as it should be. I then swith tabs. The client-side code goes into effect and the button client-side disabled property is set to false. However the strange thing is, now the button doesn't work. Clicking on it does not cause a postback and doesn't really do anything. It seems that setting the button enabled property to false and then true server-side, somehow doesn't jive with setting it's disabled property to false on the client. On the second tab, a postback is caused. The button remains disabled as it should be. I then swith tabs. The client-side code goes into effect and the button client-side disabled property is set to false. However the strange thing is, now the button doesn't work. Clicking on it does not cause a postback and doesn't really do anything. It seems that setting the button enabled property to false and then true server-side, somehow doesn't jive with setting it's disabled property to false on the client.view plaincopy to clipboardprint? view plaincopy to clipboardprint?anyone have an idea what is going on?
Your Answer:
Login to answer
96
11
Other forums
Creating an invoice
Using fpdf I am trying to create an invoice to send to clients. The products are sold in pricing tie
Ajax Issues - Update Panel / Timer. Intellisense doesn't know about them
Type 'System.Web.UI.ScriptManager' does not have a public property named 'UpdatePanel'.
That is wha
How could I do this?
Ive got a simple lottery game, and am using an sql database to keep track of the numbers bought. But
Referential Integrity problem when inserting into 2 tables at same time
Hello Everyone,
Im relativity new to PHP and MySQL and i have come up against a problem. i h
Create comparison matrix?
I want to create a comparison script for forum software and was wondering is there any tutorial or b
PHP5 - Verifying a secure mail is secure
I need to send an e-mail from a form to a external department and because it contains personal custo
Serial number of exernal hard disk/Thumbdrive
Hi guys,
I am new tio java networking concepts.Please tel me how to get Serial
number of exernal
Looking for help reading a .txt or .ini file and outputting the info.
I have a file called Info.ini and It has the following info:
Code: [General]
Online=0
I wou
apart from cron
I need to run a php file every one hour. Is there any other solution apart from cron job?
Structure Question - One Table or One Table Per Record Set?
I have a web app (mySQL and PHP) which allows people to create an item with up to 200 records which