diff options
author | xue <> | 2006-04-22 12:51:57 +0000 |
---|---|---|
committer | xue <> | 2006-04-22 12:51:57 +0000 |
commit | b181cd60a8fff5a94179f66fa1165952ed170a95 (patch) | |
tree | 839849817048badd43cdbc68f6482c21a1a5ba06 | |
parent | d29f65df2bc5ce4cf294f687e90a02229bc35356 (diff) |
Modified default value rendering for TCheckBox.
7 files changed, 26 insertions, 18 deletions
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page index 97fe260c..c079e875 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page +++ b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page @@ -135,7 +135,7 @@ Auto postback radio button list: -<h2>Checkbox Lists with DataBinding</h2>
+<h2>Radio Button Lists with DataBinding</h2>
<table class="sampletable">
diff --git a/framework/Web/UI/WebControls/TCheckBox.php b/framework/Web/UI/WebControls/TCheckBox.php index c3e5e640..ff7f57f7 100644 --- a/framework/Web/UI/WebControls/TCheckBox.php +++ b/framework/Web/UI/WebControls/TCheckBox.php @@ -307,12 +307,11 @@ class TCheckBox extends TWebControl implements IPostBackDataHandler, IValidatabl {
$attributes=$this->getViewState('InputAttributes',null);
if($attributes && $attributes->contains('value'))
- $value=$attributes->itemAt('value');
+ return $attributes->itemAt('value');
else if($this->hasAttribute('value'))
- $value=$this->getAttribute('value');
+ return $this->getAttribute('value');
else
- $value='';
- return $value===''?$this->getUniqueID():$value;
+ return '';
}
/**
@@ -341,7 +340,8 @@ class TCheckBox extends TWebControl implements IPostBackDataHandler, IValidatabl if($clientID!=='')
$writer->addAttribute('id',$clientID);
$writer->addAttribute('type','checkbox');
- $writer->addAttribute('value',$this->getValueAttribute());
+ if(($value=$this->getValueAttribute())!=='')
+ $writer->addAttribute('value',$value);
if(($uniqueID=$this->getUniqueID())!=='')
$writer->addAttribute('name',$uniqueID);
if($this->getChecked())
diff --git a/framework/Web/UI/WebControls/TRadioButton.php b/framework/Web/UI/WebControls/TRadioButton.php index dc5320b6..9a523b55 100644 --- a/framework/Web/UI/WebControls/TRadioButton.php +++ b/framework/Web/UI/WebControls/TRadioButton.php @@ -101,6 +101,14 @@ class TRadioButton extends TCheckBox $this->setViewState('GroupName',$value,'');
}
+ protected function getValueAttribute()
+ {
+ if(($value=parent::getValueAttribute())==='')
+ return $this->getUniqueID();
+ else
+ return $value;
+ }
+
/**
* @return string the name used to fetch radiobutton post data
*/
diff --git a/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php b/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php index 324c243f..f93786ab 100644 --- a/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php @@ -9,28 +9,28 @@ class CheckBoxTestCase extends SeleniumTestCase $this->verifyTitle("PRADO QuickStart Sample", "");
// a regular checkbox
- $this->click("//input[@name='ctl0\$body\$ctl0' and @value='ctl0\$body\$ctl0']", "");
+ $this->click("//input[@name='ctl0\$body\$ctl0']", "");
// a checkbox with customized value
$this->click("//input[@name='ctl0\$body\$ctl1' and @value='value']", "");
// an auto postback checkbox
$this->verifyTextNotPresent("I'm clicked");
- $this->clickAndWait("//input[@name='ctl0\$body\$ctl2' and @value='ctl0\$body\$ctl2']", "");
+ $this->clickAndWait("//input[@name='ctl0\$body\$ctl2']", "");
$this->verifyTextPresent("I'm clicked");
- $this->clickAndWait("//input[@name='ctl0\$body\$ctl2' and @value='ctl0\$body\$ctl2']", "");
+ $this->clickAndWait("//input[@name='ctl0\$body\$ctl2']", "");
$this->verifyTextPresent("I'm clicked");
// a checkbox causing validation on a textbox
$this->verifyNotVisible('ctl0_body_ctl3');
- $this->click("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
+ $this->click("//input[@name='ctl0\$body\$ctl4']", "");
// $this->pause(1000);
$this->verifyVisible('ctl0_body_ctl3');
- $this->click("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
+ $this->click("//input[@name='ctl0\$body\$ctl4']", "");
// $this->pause(1000);
$this->verifyVisible('ctl0_body_ctl3');
$this->type("ctl0\$body\$TextBox", "test");
- $this->clickAndWait("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
+ $this->clickAndWait("//input[@name='ctl0\$body\$ctl4']", "");
$this->verifyNotVisible('ctl0_body_ctl3');
// a checkbox validated by a required field validator
@@ -38,13 +38,13 @@ class CheckBoxTestCase extends SeleniumTestCase $this->click("//input[@type='submit' and @value='Submit']", "");
// $this->pause(1000);
$this->verifyVisible('ctl0_body_ctl6');
- $this->click("//input[@name='ctl0\$body\$CheckBox' and @value='ctl0\$body\$CheckBox']", "");
+ $this->click("//input[@name='ctl0\$body\$CheckBox']", "");
$this->clickAndWait("//input[@type='submit' and @value='Submit']", "");
$this->verifyNotVisible('ctl0_body_ctl6');
// a checkbox validated by a required field validator using AutoPostBack
$this->verifyNotVisible('ctl0_body_ctl7');
- $this->click("//input[@name='ctl0\$body\$CheckBox2' and @value='ctl0\$body\$CheckBox2']", "");
+ $this->click("//input[@name='ctl0\$body\$CheckBox2']", "");
// $this->pause(1000);
$this->verifyVisible('ctl0_body_ctl7');
// $this->clickAndWait("//input[@name='ctl0\$body\$CheckBox2' and @value='ctl0\$body\$CheckBox2']", "");
diff --git a/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php index b92cc9f5..4f53a38e 100644 --- a/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php @@ -19,7 +19,7 @@ class DataGrid3TestCase extends SeleniumTestCase $this->type("ctl0\$body\$DataGrid\$ctl2\$ctl7", "Design Pattern: Elements of Reusable Object-Oriented Software");
$this->type("ctl0\$body\$DataGrid\$ctl2\$ctl8", "Addison Wesley Professional");
$this->type("ctl0\$body\$DataGrid\$ctl2\$ctl9", "\$57.04");
- $this->click("//input[@name='ctl0\$body\$DataGrid\$ctl2\$ctl10' and @value='ctl0\$body\$DataGrid\$ctl2\$ctl10']", "");
+ $this->click("//input[@name='ctl0\$body\$DataGrid\$ctl2\$ctl10']", "");
$this->select("ctl0\$body\$DataGrid\$ctl2\$Rating", "label=1");
$this->clickAndWait("link=Save", "");
diff --git a/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php index 9b6e98d2..8b4e6811 100644 --- a/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php @@ -22,7 +22,7 @@ class DataList2TestCase extends SeleniumTestCase $this->clickAndWait("id=ctl0_body_DataList_ctl5_ctl0", "");
$this->type("ctl0\$body\$DataList\$ctl5\$ProductQuantity", "11");
$this->type("ctl0\$body\$DataList\$ctl5\$ProductPrice", "140.99");
- $this->click("//input[@name='ctl0\$body\$DataList\$ctl5\$ProductImported' and @value='ctl0\$body\$DataList\$ctl5\$ProductImported']", "");
+ $this->click("//input[@name='ctl0\$body\$DataList\$ctl5\$ProductImported']", "");
$this->clickAndWait("link=Save", "");
// verify item is saved
@@ -34,7 +34,7 @@ class DataList2TestCase extends SeleniumTestCase $this->clickAndWait("id=ctl0_body_DataList_ctl3_ctl1", "");
$this->type("ctl0\$body\$DataList\$ctl3\$ProductName", "Hard Drive");
$this->type("ctl0\$body\$DataList\$ctl3\$ProductQuantity", "23");
- $this->click("//input[@name='ctl0\$body\$DataList\$ctl3\$ProductImported' and @value='ctl0\$body\$DataList\$ctl3\$ProductImported']", "");
+ $this->click("//input[@name='ctl0\$body\$DataList\$ctl3\$ProductImported']", "");
$this->clickAndWait("link=Cancel", "");
// verify item is canceled
diff --git a/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php b/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php index 32134512..a73c76d4 100644 --- a/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php @@ -8,7 +8,7 @@ class PanelTestCase extends SeleniumTestCase $this->verifyTextPresent("This is panel content with", "");
$this->verifyElementPresent("//span[text()='label']");
$this->verifyTextPresent("grouping text", "");
- $this->click("//input[@name='ctl0\$body\$ctl17' and @value='ctl0\$body\$ctl17']", "");
+ $this->click("//input[@name='ctl0\$body\$ctl17']", "");
$this->verifyTextNotPresent("You have clicked on 'button2'.");
$this->clickAndWait("//input[@type='submit' and @value='button2']", "");
$this->verifyTextPresent("You have clicked on 'button2'.");
|