Buenas tengo un fragmento de html con php en el cual hay una estructura selectiva simple y el evento esta llamado de la misma manera y en una si me ejecuta el script y en otro no. Os pongo aquí el código a ver si alguien ve el fallo porque yo me estoy volviendo loco y no encuentro el fallo:
Código PHP:
if($n>1)
{
$rdias = mysql_query("SELECT * FROM precio WHERE actividad=$actividad AND ano=$anio ORDER BY dias ASC LIMIT 1", $conexion);
$rdia=mysql_fetch_array($rdias);
$dia1=$rdia["dias"];
$pvp1=$rdia["mensualidad"];
$total = $act_rec["matricula"] + $pvp1;
?>
<input type="hidden" name="desc_comp" value="Mensualidad de <?echo $act_rec["nombre"] . " de " . $meses[$mes-1] . " de " . $ano ?>">
Selecciona la mensualidad:
<select name="dias_act" id="infor" onchange="selecpvp1(this.form)" onblur="selecdesc1(this.form)" autofocus>
<?
while($f = mysql_fetch_array($regpvp))
{
?>
<option value="<?echo $f["mensualidad"]?>"><?echo $f["dias"] . " días/semana";?></option>
<?
}
?>
</select>
<br><br>
<table>
<tr>
<td id="col11"><input type="text" value="Matrícula de <?echo $act_rec["nombre"];?>" name="d1_rec" id="d1" readonly></td>
<td id="col12"><input type="text" value="<?echo $act_rec["matricula"];?>" name="pvp1_rec" id="pvp1" readonly> euros(€).</td>
</tr>
<tr>
<td id="col21"><input type="text" value="Mensualidad de <?echo $act_rec["nombre"] . " de " . $meses[$mes-1] . " de " . $ano . " (" . $dia1 . " días/semana)"?>." onChange="descrip(this.form)" name="d2_rec" id="d2"></td>
<td id="col22"><input type="number" value="<?echo $pvp1;?>" name="pvp_rec" id="pvp2" step="0.1" onChange="suma(this.form)" readonly> euros(€).</td>
</tr>
</table>
<br>
<b>Introduzca la cantidad recibida:</b>
<input type="number" step="0.1" value="<?echo $total;?>" name="pago_rec" id="pago" autofocus> euros(€).
<?
}
else
{
$pvp = mysql_fetch_array($regpvp);
$total = $act_rec["matricula"] + $pvp["mensualidad"];
?>
<table>
<tr>
<td id="col1"><input type="text" value="Matrícula de <?echo $act_rec["nombre"];?>" name="d1_rec" id="d1" readonly></td>
<td id="col2"><input type="text" value="<?echo $act_rec["matricula"];?>" name="pvp1_rec" id="pvp1" readonly> euros(€).</td>
</tr>
<tr>
<td id="col1"><input type="text" value="Mensualidad de <?echo $act_rec["nombre"] . " de " . $meses[$mes-1] . " de " . $ano;?>" onChange="descrip(this.form)" name="d2_rec" id="d2"></td>
<td id="col2"><input type="number" name="pvp_rec" value="<?echo $pvp["mensualidad"];?>" id="pvp2" step="0.1" readonly> euros(€).</td>
</tr>
</table>
<input type="hidden" name="desc_rec" value="<?echo "Matrícula de " . $act_rec["nombre"] . " y Mensualidad de " . $act_rec["nombre"] . " de " . $meses[$mes-1] . " de " . $ano . ".";?>">
<br>
<b>Introduzca la cantidad recibida:</b>
<input type="number" step="0.1" value="<?echo $total;?>" name="pago_rec" id="pago" autofocus> euros(€).
<?
}
No me ejecuta el onChange del input text del div con id=col21.
Sin embargo en el else lo llamo de la misma manera y si ejecuta el script.
Os agradeceria vuestra ayuda.
Pongo aqui el script por si el fallo esta en el:
Código PHP:
function descrip(form)
{
var c1 = form.d1_rec.value;
var c2 = form.d2_rec.value;
var d = c1 + " y " + c2 +".";
form.desc_rec.value=d.toString();
}