Home » HTML » HTML_Form » Bug #3736
addSelect does not add default values when using different variables
Details
| Submitted | 2005-03-07 20:33 UTC |
|---|---|
| From | fbricker at gmail dot com |
| Assigned | danielc |
| Status | Bogus |
| Package | HTML_Form |
| PHP Version | 4.3.4 |
| OS | Linux |
| 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