PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » HTML » HTML_Form » Bug #3736

addSelect does not add default values when using different variables

Details

Submitted2005-03-07 20:33 UTC
Fromfbricker at gmail dot com
Assigneddanielc
StatusBogus
PackageHTML_Form
PHP Version4.3.4
OSLinux
Roadmaps(Not assigned)

Comments

[2005-03-07 20:33 UTC] fbricker at gmail dot com

Description:
------------
If i create a select, it does now take the default value from a variable.

To correct this, i've changed
line 1821 from version 1.16 from
"} elseif ($default === $val) {"
to
"} elseif ($default == $val) {"
in Form.php

Reproduce code:
---------------
$actividad->rol_id = 2;

$arrayRol = array();
while ($rol -> fetch()){
$arrayRol[$rol -> rol_id] = $rol -> nombre;
}


$form = new HTML_Form("guardarActividad.php?tipo=$tipo&actividad_id=".$actividad->actividad_id);
$form -> method='POST';
$form -> addSelect('rol_id',"Rol:",$arrayRol,$actividad->rol_id);

Expected result:
----------------
<select name="rol_id" size="1" >
<option selected="selected" value="1">MESA DE ENTRADAS Y SALIDAS</option>
<option value="2">DP DE COORDINACION</option>
<option value="3">DP DE TECNICA</option>
<option value="4">DP DE ASUNTOS LEGALES</option>
<option value="5">DIR DE REGISTRO OFICIAL</option>
<option value="11">MESA DE ENTRADA</option>
<option value="12">DP DE COORDINACION</option>
<option value="13">DP DE TECNICA</option>
<option value="14">DP DE ASUNTOS LEGALES</option>
<option value="15">DIR DE REGISTRO OFICIAL</option>
</select>

Actual result:
--------------
<select name="rol_id" size="1" >
<option value="1">MESA DE ENTRADAS Y SALIDAS</option>
<option value="2">DP DE COORDINACION</option>
<option value="3">DP DE TECNICA</option>
<option value="4">DP DE ASUNTOS LEGALES</option>
<option value="5">DIR DE REGISTRO OFICIAL</option>
<option value="11">MESA DE ENTRADA</option>
<option value="12">DP DE COORDINACION</option>
<option value="13">DP DE TECNICA</option>
<option value="14">DP DE ASUNTOS LEGALES</option>
<option value="15">DIR DE REGISTRO OFICIAL</option>
</select>

[2005-03-07 20:56 UTC] fbricker at gmail dot com

Reproduce code:
---------------
$actividad->tipo = 2;

for($i=0; $i<3; $i++){
$arrayTipo[$i] = 'Tipo '.$i;
}

$form = new
HTML_Form("guardarActividad.php?tipo=$tipo&actividad_id=".$actividad->actividad_id);
$form -> method='POST';
$form ->
addSelect('tipo',"Tipo:",$arrayTipo,$actividad->tipo);
$form -> display();

Expected result:
----------------
<select name="tipo" size="1" >
<option value="0">Tipo 0</option>
<option value="1">Tipo 1</option>
<option selected="selected" value="2">Tipo 2</option>
</select>

Actual result:
----------------
<select name="tipo" size="1" >
<option value="0">Tipo 0</option>
<option value="1">Tipo 1</option>
<option value="2">Tipo 2</option>
</select>

[2005-03-07 21:16 UTC] fbricker at gmail dot com

In bug 2645 the change was to correct the case when de default value was '0', that Form assume default value was disabled. But changing from === to == does not reproduce this bug (at least in my pc).
I think that the change in bug 2645 was something of if($default){
..
..
}
that made the '0' value not to work and not changing from == to ===.

That's all the information i can give you about this bug. I think my example is well formed.

Best regards--- Federico