Foros del Web » Programando para Internet » PHP »

Problema con Campo de Texto

Estas en el tema de Problema con Campo de Texto en el foro de PHP en Foros del Web. Hola, tengo un problema con un campo de texto, se bloquea luego de que se ejecuta la acción del formulario. Acá está el código: @import ...
  #1 (permalink)  
Antiguo 08/09/2011, 11:03
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Pregunta Problema con Campo de Texto

Hola, tengo un problema con un campo de texto, se bloquea luego de que se ejecuta la acción del formulario. Acá está el código:

Código HTML:
Ver original
  1. <form action="estadio.php" method="post">
  2.         <table width="300" cellspacing="7">
  3.                 <tr>
  4.                 <td>Capacidad Total a calcular:</td><td><input name="total" type="text" id="total"></td>
  5.                 </tr>
  6.                 <tr>
  7.                 <td colspan="2" align="center"><input name="Calcular" type="submit" id="Calcular" value="Calcular"></td>
  8.                 </tr>
  9.                 </table>        
  10.         </form>
  11.         </div>
Código PHP:
Ver original
  1. <?php
  2.         if($_POST['Calcular']){
  3.             $t = $_POST['total'];
  4.             $g = $t * 0.59;
  5.             $p = $t * 0.24;
  6.             $pt = $t * 0.14;
  7.             $v = $t * 0.03;
  8.         ?>

El código PHP está tal cual se los presento, debajo del código HTML en mi página.

Les agradezco cualquier ayuda de antemano. Saludos.
  #2 (permalink)  
Antiguo 08/09/2011, 12:04
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: Problema con Campo de Texto

Podrias explicar eso de "se bloquea"?
No entendi tu pregunta
  #3 (permalink)  
Antiguo 08/09/2011, 13:42
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Explico lo que hace este pedazo de código entonces:

- En un formulario tengo un campo de texto para almacenar una cifra y un botón para enviar el formulario a la misma página.
- El código PHP que está debajo del formulario (y del campo de texto) recibe la información del formulario para ejecutar un cálculo en base del valor del campo de texto y muestra una información en la misma página manteniendo el formulario a la vista en caso de que el usuario desee ingresar un nuevo dígito para calcular.
- Cuando ingreso un dígito, apreto el botón y la acción PHP se ejecuta, la información se muestra y el formulario queda igual (arriba de la info) pero acá es donde el campo de texto se bloquea ya que no puedo ingresar valores, hacer click en él o algo más.
  #4 (permalink)  
Antiguo 08/09/2011, 13:55
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Problema con Campo de Texto

en tu codigo tienes el if que dice

if($_POST['calcular']) y normalmente se hace eso para checar si un array tiene elementos.

como

$array = array();

if( $array ) ----> false.. no tiene elementos

$array[1] = 1;

if($array) -----> true.. tiene elementos.

como el tuyo es solo una variable normal y no un arreglo usalo asi
if(isset($_POST['calcular']))

por que si la variable no esta asignada te va a marcar error como lo tienes tu.

fijate haber si te esta dejando entrar al if. y te recomiendo poner el proceso del php
antes del formulario... a menos que necesariamente tenga que ir despues del formulario dejalo asi.

pd: si pones el codigo completo seria mejor.

Última edición por blakmetall; 08/09/2011 a las 14:02
  #5 (permalink)  
Antiguo 08/09/2011, 14:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

La variable 'calcular' hace referencia al valor que le asigné al botón (en caso de que agregue más formularios con otros botones y con el método POST también), por eso pregunto "if($_POST['Calcular']"... y no sé si sea buena idea poner el código entero, ya que son más de 200 líneas :S
  #6 (permalink)  
Antiguo 08/09/2011, 14:37
Avatar de blakmetall  
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
Respuesta: Problema con Campo de Texto

mmm entonces no se me ocurro otra cosa para que el bloqueo ocurra que javascript, aunque es seguro que no estas bloqueandolo con javascript.

otra cosa sera que en alguna parte hay algun error en tu codigo html puede ser.

mientras cambia el input

<input name="Calcular" type="submit" id="Calcular" value="Calcular">
a
<input name="Calcular" type="submit" id="Calcular" value="Calcular" />

<input name="total" type="text" id="total">
a
<input name="total" type="text" id="total" />
  #7 (permalink)  
Antiguo 08/09/2011, 14:39
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Probé poniendo el código PHP antes del formulario (creando una variable BOOL dentro de la recepción del formulario en el IF($_POST[CALCULAR]) y haciendo un IF preguntando por el booleano para mostrar la info).... pero pasa lo mismo, todavía está bloqueado el campo de texto... :(
  #8 (permalink)  
Antiguo 08/09/2011, 14:40
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Cita:
Iniciado por blakmetall Ver Mensaje
mmm entonces no se me ocurro otra cosa para que el bloqueo ocurra que javascript, aunque es seguro que no estas bloqueandolo con javascript.

otra cosa sera que en alguna parte hay algun error en tu codigo html puede ser.

mientras cambia el input

<input name="Calcular" type="submit" id="Calcular" value="Calcular">
a
<input name="Calcular" type="submit" id="Calcular" value="Calcular" />

<input name="total" type="text" id="total">
a
<input name="total" type="text" id="total" />
Probé esto de poner un / al final... pero no pasó nada.
  #9 (permalink)  
Antiguo 08/09/2011, 14:49
 
Fecha de Ingreso: septiembre-2011
Ubicación: Montevideo, Uruguay
Mensajes: 14
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Problema con Campo de Texto

¿No podés validar el formulario, en vez de usar un botón tipo "submit" le ponés un botón tipo "button" y luego lo validás con una función X al hacer click (onclick)?
  #10 (permalink)  
Antiguo 08/09/2011, 14:51
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Cita:
Iniciado por TinchoUY Ver Mensaje
¿No podés validar el formulario, en vez de usar un botón tipo "submit" le ponés un botón tipo "button" y luego lo validás con una función X al hacer click (onclick)?
No entiendo cómo esto podría afectar... ¿?
  #11 (permalink)  
Antiguo 08/09/2011, 15:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Problema con Campo de Texto

para q se te bloques debe de ser por parte del cliente seguro que esta algo mal en javascript.
has una test sencillo, haslo lo mismo aparte en otro documento pero con lo mas basico (solo poner un formulario y un caja de texto) y en php solo el codigo que pusiste en el post. Y si se te bloquea pues amigo lo que estaria mal sera tu codigo del cliente
  #12 (permalink)  
Antiguo 08/09/2011, 18:38
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Cita:
Iniciado por nocturnoa Ver Mensaje
para q se te bloques debe de ser por parte del cliente seguro que esta algo mal en javascript.
has una test sencillo, haslo lo mismo aparte en otro documento pero con lo mas basico (solo poner un formulario y un caja de texto) y en php solo el codigo que pusiste en el post. Y si se te bloquea pues amigo lo que estaria mal sera tu codigo del cliente
Tengo miles de formularios en varias otras páginas del mismo dominio, y esta es la única que presenta ese problema.
  #13 (permalink)  
Antiguo 08/09/2011, 18:46
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Acá subo el código en todo caso, hay que descargar el archivo "estadio.php" y las líneas en cuestión son de la 196 a la 230:

Código HTML:
Ver original
  1. https://skydrive.live.com/?cid=4b49ecf0909d3a48&sc=documents&uc=1&id=4B49ECF0909D3A48!140
  #14 (permalink)  
Antiguo 08/09/2011, 19:23
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Problema con Campo de Texto

Amigo antes que nada te voy a decir que eres muy desornado... deberia de usar pratron MVC para que tu codigo quede limpio, asi como lo veo esta una mezcla de aji de gallina + extracto de palta
  #15 (permalink)  
Antiguo 08/09/2011, 19:32
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Problema con Campo de Texto

tu codigo le puse a probar en servidor y comente en el codigo lo que no necesito y corre perfectamente (no se bloqua para nada la caja de texto), ante esto sale la idea de que algo interno ocurre en require("conexion.php") y require("PHT.php");

Código PHP:
<?php
//require("conexion.php"); 
//require("PHT.php");
session_start();
$HT $_SESSION['HT'];
if (isset (
$_SESSION['USUARIO']) ){
    
$val FALSE;
    
$user $_SESSION['USUARIO'];
    
$consultar pg_query($con,"select id_perfil,id_user from usuario where nombre = '$user'");
    
$rs pg_fetch_array($consultar);
    if(
$rs){
        
$permisos $rs['id_perfil'];
        
$iduser $rs['id_user'];
        
$sacar pg_query($con,"select id_manager from usuario where nombre = '$user'");
        
$result pg_fetch_array($sacar);
        if(
$result){
            
$manager $result['id_manager'];
            
$tener pg_query($con,"select id_equipo,pais,socios from equipo where id_manager = '$manager'");
            if(
$recibir pg_fetch_array($tener)){
                
$socios 25*$recibir['socios'];
                
$equipo $recibir['id_equipo'];
                
$sel_estadio "select * from estadio where id_equipo = '$equipo'";
                
$eje_estadio pg_query($con,$sel_estadio);
                if(
$rs_estadio pg_fetch_array($eje_estadio)){
                    
$galeria $rs_estadio['galeria'];
                    
$platea $rs_estadio['platea'];
                    
$platea_t $rs_estadio['plateatechada'];
                    
$vip $rs_estadio['palcos'];
                    
$total $galeria $platea $platea_t $vip;     
                }
            }
        }else{
            
header('Location:error.php');
        }
    }else{
        
header('Location:error.php');
    }
}
//else{
    //header('Location:error.php');
//}
if($_POST['Calcular']){
    
$t $_POST['total'];
    
$g $t 0.59;
    
$p $t 0.24;
    
$pt $t 0.14;
    
$v $t 0.03;
    
$val TRUE;
}
?>
  #16 (permalink)  
Antiguo 09/09/2011, 12:23
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Cita:
Iniciado por nocturnoa Ver Mensaje
Amigo antes que nada te voy a decir que eres muy desornado... deberia de usar pratron MVC para que tu codigo quede limpio, asi como lo veo esta una mezcla de aji de gallina + extracto de palta
Disculpa socio, lo que pasa es que estoy en la etapa de aprendizaje en la manera de trabajar... tengo los conocimientos pero repoca experiencia... si me pudieras ayudar a saber cómo ordenarme te lo agradecería.
  #17 (permalink)  
Antiguo 09/09/2011, 12:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Cita:
Iniciado por nocturnoa Ver Mensaje
tu codigo le puse a probar en servidor y comente en el codigo lo que no necesito y corre perfectamente (no se bloqua para nada la caja de texto), ante esto sale la idea de que algo interno ocurre en require("conexion.php") y require("PHT.php");

Código PHP:
<?php
//require("conexion.php"); 
//require("PHT.php");
session_start();
$HT $_SESSION['HT'];
if (isset (
$_SESSION['USUARIO']) ){
    
$val FALSE;
    
$user $_SESSION['USUARIO'];
    
$consultar pg_query($con,"select id_perfil,id_user from usuario where nombre = '$user'");
    
$rs pg_fetch_array($consultar);
    if(
$rs){
        
$permisos $rs['id_perfil'];
        
$iduser $rs['id_user'];
        
$sacar pg_query($con,"select id_manager from usuario where nombre = '$user'");
        
$result pg_fetch_array($sacar);
        if(
$result){
            
$manager $result['id_manager'];
            
$tener pg_query($con,"select id_equipo,pais,socios from equipo where id_manager = '$manager'");
            if(
$recibir pg_fetch_array($tener)){
                
$socios 25*$recibir['socios'];
                
$equipo $recibir['id_equipo'];
                
$sel_estadio "select * from estadio where id_equipo = '$equipo'";
                
$eje_estadio pg_query($con,$sel_estadio);
                if(
$rs_estadio pg_fetch_array($eje_estadio)){
                    
$galeria $rs_estadio['galeria'];
                    
$platea $rs_estadio['platea'];
                    
$platea_t $rs_estadio['plateatechada'];
                    
$vip $rs_estadio['palcos'];
                    
$total $galeria $platea $platea_t $vip;     
                }
            }
        }else{
            
header('Location:error.php');
        }
    }else{
        
header('Location:error.php');
    }
}
//else{
    //header('Location:error.php');
//}
if($_POST['Calcular']){
    
$t $_POST['total'];
    
$g $t 0.59;
    
$p $t 0.24;
    
$pt $t 0.14;
    
$v $t 0.03;
    
$val TRUE;
}
?>
Aquí me reventaste... estas páginas que requiero están presentes en otros formularios y no provocan ningún error en los otros campos de texto, acá es la única excepción...
  #18 (permalink)  
Antiguo 09/09/2011, 12:29
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Problema con Campo de Texto

Gracias a todos por su paciencia, estuve metiendo cráneo al tema y era porque me faltaba cerrar un DIV después de que muestro la información en código HTML... pero ahí funcionó.

Etiquetas: html
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 04:37.