From 1ed5d8c3f241116df31b92031ae18a2e6b5b3d4c Mon Sep 17 00:00:00 2001 From: xue <> Date: Tue, 13 Dec 2005 15:14:38 +0000 Subject: Moved code for registering postback js from onPreRender to addAttributesToRender. It's too early to register js in onPreRender. --- framework/Web/UI/WebControls/TButton.php | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'framework/Web/UI/WebControls/TButton.php') diff --git a/framework/Web/UI/WebControls/TButton.php b/framework/Web/UI/WebControls/TButton.php index 3a92d809..735c3b50 100644 --- a/framework/Web/UI/WebControls/TButton.php +++ b/framework/Web/UI/WebControls/TButton.php @@ -74,19 +74,6 @@ class TButton extends TWebControl implements IPostBackEventHandler if(($uniqueID=$this->getUniqueID())!=='') $writer->addAttribute('name',$uniqueID); $writer->addAttribute('value',$this->getText()); - if(!$this->getEnabled(true) && $this->getEnabled()) // in this case, parent will not render 'disabled' - $writer->addAttribute('disabled','disabled'); - parent::addAttributesToRender($writer); - } - - /** - * Registers the postback javascript code. - * If you override this method, be sure to call the parent implementation - * so that the event handlers can be invoked. - * @param TEventParameter event parameter to be passed to the event handlers - */ - protected function onPreRender($param) - { if($this->getEnabled(true)) { $scripts = $this->getPage()->getClientScript(); @@ -94,7 +81,9 @@ class TButton extends TWebControl implements IPostBackEventHandler $postback = $scripts->getPostBackEventReference($this, '', $options, false); $scripts->registerClientEvent($this, "click", $postback); } - parent::onPreRender($param); + else if($this->getEnabled()) // in this case, parent will not render 'disabled' + $writer->addAttribute('disabled','disabled'); + parent::addAttributesToRender($writer); } /** @@ -115,7 +104,7 @@ class TButton extends TWebControl implements IPostBackEventHandler if($this->getPostBackUrl()!=='') $option->setActionUrl($this->getPostBackUrl()); $option->setClientSubmit(!$this->getUseSubmitBehavior()); - + return $option; } -- cgit v1.2.3