Edit report at http://pear.php.net/bugs/bug.php?id=18683&edit=1
ID: 18683
Updated by: [email protected]
Reported By: adam at eryjus dot com
Summary: $id with blanks not handled correctly
-Status: Bogus
+Status: Assigned
-Type: Bug
+Type: Feature/Change Request
Package: HTML_QuickForm2
Operating System: Fedora Core 14
Package Version: 0.6.0
PHP Version: 5.3.6
-Assigned To:
+Assigned To: avb
Roadmap Versions:
New Comment:
-Status: Bogus
+Status: Assigned
-Type: Bug
+Type: Feature/Change Request
-Assigned To:
+Assigned To: avb
It may indeed make sense to throw an exception for incorrect id in
setId() method. It may also make sense to route setting the form's id
through that method instead of doing it in the constuctor.
Previous Comments:
------------------------------------------------------------------------
[2011-07-26 03:38:12] eryjus
Alexey,
Thank you and understood.
With that said, wouldn't it be prudent for the constructor to throw an
exception when an invalid argument is passed to it (such as the illegal
space)?
------------------------------------------------------------------------
[2011-07-25 12:21:56] avb
-Status: Open
+Status: Bogus
Spaces are not allowed in elements' id attributes. You can complain to
authors of HTML specification if you don't like this fact.
------------------------------------------------------------------------
[2011-07-25 06:10:40] eryjus
Description:
------------
From the QuickForm2 Tutorial, changed the $id of the form form
'tutorial' to 'test form'. The constructor did not recognize that the
form was submitted. Removed the space and the form works as expected.
Test script:
---------------
$form = new HTML_QuickForm2('test form');
$form->addDataSource(new HTML_QuickForm2_DataSource_Array(array(
'name' => 'Joe User'
)));
$fieldset = $form->addElement('fieldset')->setLabel('QuickForm2 tutorial
example');
$name = $fieldset->addElement('text', 'name', array('size' => 50,
'maxlength' => 255))
->setLabel('Enter your name:');
$submit = $fieldset->addElement('submit', null, array('value' =>
'Send!'));
if ($form->validate()) {
echo '<h1>Hello, ' . htmlspecialchars($name->getValue()) . '!</h1>';
exit;
}
echo $form;
Expected result:
----------------
After changing the name to 'World', I expect to see, "Hello, World!".
Actual result:
--------------
The form is displayed as if it was loaded for the first time, even with
all the defaults from the code.
------------------------------------------------------------------------
--
Edit this bug report at http://pear.php.net/bugs/bug.php?id=18683&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.