Consulta de código php que falla al guardar datos

Buenas Noches expertos, tengo un problemita con un combo el cual trae una información de una tabla y cuando voy actualizar el registro no quiero que la información de combo sea cambiada así que opte por darle el atributo disable al combo, al parecer resulta perfecto porque el combo me muestra el valor que trae de la base de datos y lo coloca sombreado para que no pueda ser cambiado, el problema se me presenta cuando trato de grabar los cambios ya que el valor del combo queda nulo o vacío cuando le doy disable. Entonces cuando se van a grabar los cambios el query falla porque la variable que viene del combo viene en blanco o vacía aunque el combo muestre el valor del registro.
A continuación copio la linea de código del combo
<td class="LabelForm">Negocio</td>
<td class="fondo_caja_texto_formularios">
<div align="left">
<?
comboNegocio($organizacion);
?>
<script>
document.procesa_localidad.cbo_negocio.value='<?=$negocio?>'
document.procesa_localidad.cbo_negocio.disabled='disabled'
</script>
</div>
</td>
</tr>
Gracias por la ayuda

1 respuesta

Respuesta
1
El problema no está en el código que has enviado, sino en el que procesa la respuesta del formulario. Debes comprobar allí si el valor de la combo es nulo y no intentar grabarlo en ese caso.
Buenas Tardes David, garcías por responder a la brevedad mi pregunta, el problema que tengo es que no debería el combo perder el valor trae de la base de datos, ya que estoy haciendo un update en la tabla. No entiendo porque cuando utilizo la función disabled el valor del combo se pierde.
Gracias
eso es así. Cuando está disabled no devuelve valor.
Tienes tres opciones a mi entender:
-Haces una rutina que en el momento de enviar el formulario habilite la combo y así ya te devolverá el valor.
-Cambias el name de la combo por otro y colocas un <input type="hidden" name="eldelacomboahora" value="elvalordelacombo"> Esto te devolverá el valor y no será visible al usuario.
-No hacer nada en el formulario, y cuando vayas a hacer el update sustituye la variable por su valor (deberías saberlo puesto que es fijo).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas