Foros del Web » Programando para Internet » PHP »

• Como deshabilitar un campo y un select al seleccionar un radio button

Estas en el tema de • Como deshabilitar un campo y un select al seleccionar un radio button en el foro de PHP en Foros del Web. hola, soy nueva en php, estoy haciendo un formulario para un sistema de inventario. tengo un select, pero quiero que cuando seleccionen la boton q ...
  #1 (permalink)  
Antiguo 24/04/2014, 10:00
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristobal
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Sonrisa • Como deshabilitar un campo y un select al seleccionar un radio button

hola, soy nueva en php, estoy haciendo un formulario para un sistema de inventario.
tengo un select, pero quiero que cuando seleccionen la boton q esta al lado me deshabilite ese select y tambien un campo texto.
aca dejo el codigo del form

[PHP][PHP]
Código PHP:
<?php
//conecto la bd antes q nada, o sea aca la estoy llamando
require "base_datos.php"//esto es como se llama el archivo q contiene la conexion
require "funciones.php"//esto es como se llama el archivo q contiene las funciones para este programa
$conexion conectar(); //ay ya me conecte
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Compras</title>
</head>

<body>
<form action="guardar_entradacompra.php" method="post" name="formulario" id="formulario"> <!--es el formulario -->

<table border="1" align="center">  <!--estoy alineando el formulario -->
<tr>
    <td colspan="2" align="center">COMPRAS</td> <!-- para unir las dos columnas del formulario -->
</tr>
<tr>
    <td>Numero de Entrada</td>
    <td><input type="text" name="numeroentrada" id="numeroentrada" required title="cantidad de entradas al deposito" readonly="readonly" value="<?php echo numeroentrada($conexion);?>"/></td> 
 
</tr>
<tr>
    <td>Numero de Factura</td>
    <td><input type="text" name="numerofactura" id="numerofactura" maxlength="100" size="60" required placeholder="numero que esta contenido en la factura"></td> <!-- placeholder  hace que donde hay que rellenar salga un comentario-->
</tr>
<tr>
    <td>Fecha de Factura</td>
    <td><input type="text" name="fechafactura" id="fechafactura" maxlength="100" size="60" required placeholder="dd/mm/año. fecha que esta contenida en la factura"></td>
</tr>
<tr>
    <td>Fecha Deposito</td>
    <td><input type="text" name="fechadeposito" id="fechadeposito" required title="fecha en que se almacena en el deposito "readonly="readonly" value="<?php echo date('d/m/Y');?>"/></td>
</tr>
<tr>
    <td>Proveedor</td>
    <td>
    <?php
$query 
'SELECT * FROM proveedor ORDER BY descripcion'// ay le digo muestre lo que ay en la tabla proveedor especificamente en el campo descripcion y con order by lo ordeno de formar ascendente si ay numeros y alfabeticamente si hay texto
$resultmysql_query($query$conexion);
 
?>
<select name="proveedor" id="proveedor"> 
<option value="0">Donativo</option>
<?php while ( $row mysql_fetch_array($result) ) { ?> <option value=" <?php echo $row['descripcion'?> " >
  <?php echo $row['descripcion']; ?> </option> 
  <?php 
?> 
</select>
    </td>
</tr>
<tr>
    <td>Codigo de Producto</td>
    <td><input type="text" name="fk_producto" id="fk_producto" maxlength="20" size="60" required></td>
</tr>

    <td>Cantidad</td>
    <td><input type="text" name="cantidad" id="cantidad" maxlength="50" size="60" required></td>
</tr>
 <tr>
    <td>Precio</td>
    <td><input type="text" name="precio" id="precio" maxlength="20" size="60"></td>
</tr>
<tr>

<tr>
    <td colspan="2" align="center">
    <input type="submit" value="Grabar"> <!-- value me permite sobreescribir submit (enviar consulta) por grabar -->
    <input type="reset" value="Limpiar"> 
    </td>
 </tr>


</table>
</form>


</body>
</html>
<!-- <?php
$query 
'SELECT * FROM proveedor'
$resultmysql_query($query$conexion);
 
?>
<select name="proveedor"> <?php while ( $row mysql_fetch_array($result) ) { ?> <option value=" <?php echo $row['de4scripcion'?> " >
  <?php echo $row['descripcion']; ?> </option> 
  <?php 
?> </select>  
lo anterior es para que me liste lo que tengo almacenado en una tabla x, que en este caso es proveedor
-->
y este es el archivo donde tengo guardada la funcion
Código PHP:
<?php

function numeroentrada($conexion//esto es para q x parametro me llame la conexion
{
    
$sql "select max(numeroentrada) from entradacompra"//esta sentencia la uso para ver que entradas tengo almacenadas
    
$resultado mysql_query($sql,$conexion);
    
$numeroentrada mysql_fetch_row($resultado); //conviertto en un array
    
if($numeroentrada[0])
    {
        return 
$numeroentrada[0] + 1;     //aca le digo q como no ay entrada pues hago una nueva y seria entrada1 xq es la 1ra
        
}
        else
        {
            return 
1;
            }
    }
    
?>



gracias de antemano por su ayuda
  #2 (permalink)  
Antiguo 24/04/2014, 10:08
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

Creo que esta pregunta va en el foro de javascript o jquery
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 24/04/2014, 11:35
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristobal
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Exclamación Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

hola, saludos, soy nueva tambien en el foro, pero creo q no , porque no estoy trabajando con javascript ni con jquery
  #4 (permalink)  
Antiguo 24/04/2014, 11:47
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 5 meses
Puntos: 36
Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

Para manipular los elementos del DOM, efectivamente debes usar Javascript/Jquery
  #5 (permalink)  
Antiguo 24/04/2014, 11:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

Como bien te dicen hhs y rottenp4nx, eso corresponde a JavaScript pues con PHP no puedes controlar el DOM ya que se encuentra en el lado del cliente, en donde JavaScript sí trabaja. Recuerda que PHP trabaja del lado del servidor.

Para deshabilitar elementos (obviamente en JavaScript), utiliza el atributo disabled.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 24/04/2014, 12:18
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristobal
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
De acuerdo Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

gracias a todos por responder pronto, efectivamente si debo usar el javascript, pero como ya dije anteriormente soy nuev en el tema.

aca esta la forma en que lo resolvi, este es el php anterior pero con las modificaciones echas.
Código PHP:
<?php
//conecto la bd antes q nada, o sea aca la estoy llamando
require "base_datos.php"//esto es como se llama el archivo q contiene la conexion
require "funciones.php"//esto es como se llama el archivo q contiene las funciones para este programa
$conexion conectar(); //ay ya me conecte
?>

<!doctype html>
<html>
<head>
<script language="JavaScript"> 
 
   function habilita(){ 
    document.formulario.precio.disabled = false; //esta funcion me dice que me habilite el campo precio que esta abajo, que por defecto lo tengo disabled
   document.formulario.proveedor.disabled = false;
   } 
 
   function deshabilita(){ 
    document.formulario.precio.disabled = true; //esta funcion me dice que me deshabilite el campo precio que esta abajo
    document.formulario.proveedor.disabled = true;
   } 
 
  </script>
<meta charset="utf-8">
<title>Compras</title>
</head>

<body>
<form action="guardar_entradacompra.php" method="post" name="formulario" id="formulario"> <!--es el formulario -->

<table border="1" align="center">  <!--estoy alineando el formulario -->
<tr>
    <td colspan="2" align="center">COMPRAS</td> <!-- para unir las dos columnas del formulario -->
</tr>
<tr>
    <td>Numero de Entrada</td>
    <td><input type="text" name="numeroentrada" id="numeroentrada" required title="cantidad de entradas al deposito" readonly="readonly" value="<?php echo numeroentrada($conexion);?>"/></td> 
 
</tr>
<tr>
    <td>Numero de Factura</td>
    <td><input type="text" name="numerofactura" id="numerofactura" maxlength="100" size="60" required placeholder="numero que esta contenido en la factura"></td> <!-- placeholder  hace que donde hay que rellenar salga un comentario-->
</tr>
<tr>
    <td>Fecha de Factura</td>
    <td><input type="text" name="fechafactura" id="fechafactura" maxlength="100" size="60" required placeholder="dd/mm/año. fecha que esta contenida en la factura"></td>
</tr>
<tr>
    <td>Fecha Deposito</td>
    <td><input type="text" name="fechadeposito" id="fechadeposito" required title="fecha en que se almacena en el deposito "readonly="readonly" value="<?php echo date('d/m/Y');?>"/></td>
</tr>
<tr>
    <td>Proveedor</td>
    <td>
    <?php
$query 
'SELECT * FROM proveedor ORDER BY descripcion'// ay le digo muestre lo que ay en la tabla proveedor especificamente en el campo descripcion y con order by lo ordeno de formar ascendente si ay numeros y alfabeticamente si hay texto
$resultmysql_query($query$conexion);
 
?> <input type="radio" name="rad" value="d" checked onclick="deshabilita()"> Donativo<br> <!-- checked seleeccionado ese boton por defecto-->
 <input type="radio" name="rad" value="o" onclick="habilita()"> Otro Proveedor<br>  <!-- onclick hace que cuando se haga click en ese boton me habilite la lista de proveedores y el campo precio-->
<select name="proveedor" id="proveedor" disabled> 
<option value="0">Donativo</option>
<?php while ( $row mysql_fetch_array($result) ) { ?> <option value=" <?php echo $row['descripcion'?> " >
  <?php echo $row['descripcion']; ?> </option> 
  <?php 
?> 
</select>
    </td>
</tr>
<tr>
    <td>Codigo de Producto</td>
    <td><input type="text" name="fk_producto" id="fk_producto" maxlength="20" size="60" required></td>
</tr>

    <td>Cantidad</td>
    <td><input type="text" name="cantidad" id="cantidad" maxlength="50" size="60" required></td>
</tr>
 <tr>
    <td>Precio</td>
    <td><input type="text" name="precio" id="precio" maxlength="20" size="60" required disabled></td>
</tr>
<tr>

<tr>
    <td colspan="2" align="center">
    <input type="submit" value="Grabar"> <!-- value me permite sobreescribir submit (enviar consulta) por grabar -->
    <input type="reset" value="Limpiar"> 
    </td>
 </tr>


</table>
</form>


</body>
</html>
<!-- <?php
$query 
'SELECT * FROM proveedor'
$resultmysql_query($query$conexion);
 
?>
<select name="proveedor"> <?php while ( $row mysql_fetch_array($result) ) { ?> <option value=" <?php echo $row['de4scripcion'?> " >
  <?php echo $row['descripcion']; ?> </option> 
  <?php 
?> </select>  
lo anterior es para que me liste lo que tengo almacenado en una tabla x, que en este caso es proveedor
-->
ahora mi pregunta es: ¿puedo hacer el llamado a esa funcion en el php y guardar la funcion como tal en mi archivo funciones?
  #7 (permalink)  
Antiguo 24/04/2014, 12:26
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristobal
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
De acuerdo Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

me respondo a mi misma: si, solo copiar el script en el archivo funciones y listo!
gracias a todos por su ayuda, estos foros me han ayudado muchisimo...
  #8 (permalink)  
Antiguo 24/04/2014, 12:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

Pues, tendrías que armar algo como lo se que explica aquí, ya que directamente no puedes invocar a una función de JavaScript en PHP, recuerda que un lenguaje trabaja en el lado del cliente y el otro en el lado del servidor.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 24/04/2014, 13:51
 
Fecha de Ingreso: abril-2014
Ubicación: San Cristobal
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Pregunta Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

tengo otra pregunta: en ese mismo formulario tengo el campo codigo del producto, pero quiero que cuando el usuario introduzca algun valor, si existe en mi bd que me muestre el nombre de ese producto, claro, se que tengo que agregar otro campo a formulario, pero la idea es que trabaje en conjunto, es decir, que si el usuario mete el codigo 01 (y si existe en mi bd) a un lado me muestre el nombre del producto que corresponde a ese codigo y si no existe el codigo, que me muestre un mensaje
  #10 (permalink)  
Antiguo 24/04/2014, 13:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: • Como deshabilitar un campo y un select al seleccionar un radio button

Vas a tener que utilizar Ajax y, nuevamente, es un tema de JavaScript.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: campo, deshabilitar, fecha, formulario, html, mysql, radio, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.