summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page2
-rw-r--r--framework/Web/UI/WebControls/TCheckBox.php10
-rw-r--r--framework/Web/UI/WebControls/TRadioButton.php8
-rw-r--r--tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php16
-rw-r--r--tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php2
-rw-r--r--tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php4
-rw-r--r--tests/FunctionalTests/quickstart/Controls/PanelTestCase.php2
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'.");