Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Necesito limpiar un campo en javascript

Estas en el tema de Necesito limpiar un campo en javascript en el foro de Javascript en Foros del Web. Hola a todos, bueno tengo una duda con respecto a javascript que espero me ayuden a solucionar, tengo la corazonada que es un pequeño detalle ...
  #1 (permalink)  
Antiguo 19/12/2012, 12:37
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Necesito limpiar un campo en javascript

Hola a todos, bueno tengo una duda con respecto a javascript que espero me ayuden a solucionar, tengo la corazonada que es un pequeño detalle el que me estoy saltando, bueno ire al grano ...
mi pagina la tengo divida en marcos.... especificamente en 2.
en el marco "top" tengo un pequeño formulario con un textfield para un codigo de barra , y 2 combobox, una selecciona el motivo y otra un submotivo
lo que necesito es que al ingresar el codigo de barra y presionar la tecla "enter", ejecute el proceso en el marco "down" y que se limpie el textfield del codigo de barra, actualmente la limpieza la puedo realizar pero lo que no puedo ejecutar es el proceso en el marco "down" el cual me tiene complicado. a continuacion pongo el script que tengo hecho :

Código:
<script type="text/javascript">
function checkKey(key)
{
 
    var unicode
    if (key.charCode)
    {unicode=key.charCode;}
    else
    {unicode=key.keyCode;}
    //alert(unicode); // Para saber que codigo de tecla presiono , descomentar
 
    if (unicode == 13){
			   document.form3.codbarr.value="";
			   return true;				
		//alert('Presiono enter');
    }

}
</script>
y el formulario lo tengo de la siguiente forma :

Código:
 <input type="text" name="codbarr" id="codbarr" onkeypress="checkKey(event);" />
  #2 (permalink)  
Antiguo 19/12/2012, 13:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Necesito limpiar un campo en javascript

Suponiendo que el campo lo tienes en un formulario que ya está configurado con el atributo target para que se procese en el marco "down", lo único que tendrías que hacer es:
Código Javascript:
Ver original
  1. document.getElementById("id_del_formulario").submit();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/12/2012, 13:26
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Necesito limpiar un campo en javascript

no entiendo muy bien a que llamás "proceso", pero más o menos

asumiendo que tu marco superior se llama arriba y tu marco inferior abajo

en arriba.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. <script type="text/javascript">
  6. function valorAbajo(){
  7. var codigo = document.getElementById('c').value;
  8. parent.abajo.alerta(codigo);
  9. document.getElementById('c').value ='';
  10. }
  11. </head>
  12.  
  13. <form action="#">
  14. <input type="text" id="c" />
  15. <input type="button" onclick="valorAbajo()" value="procesar"/>
  16. </form>
  17. </body>
  18.  
  19. </html>

y en abajo.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. </head>
  6. <script type="text/javascript">
  7. function alerta(cod){
  8. alert(cod);
  9. }
  10. abajo
  11. </body>
  12. </html>

Es decir, la función de abajo recibe valores y es llamada desde la función definida en el marco superior con
Código Javascript:
Ver original
  1. parent.abajo.alerta(codigo);

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 19/12/2012, 13:42
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Necesito limpiar un campo en javascript

Cita:
Iniciado por emprear Ver Mensaje
no entiendo muy bien a que llamás "proceso", pero más o menos

asumiendo que tu marco superior se llama arriba y tu marco inferior abajo

en arriba.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. <script type="text/javascript">
  6. function valorAbajo(){
  7. var codigo = document.getElementById('c').value;
  8. parent.abajo.alerta(codigo);
  9. document.getElementById('c').value ='';
  10. }
  11. </head>
  12.  
  13. <form action="#">
  14. <input type="text" id="c" />
  15. <input type="button" onclick="valorAbajo()" value="procesar"/>
  16. </form>
  17. </body>
  18.  
  19. </html>

y en abajo.html
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. </head>
  6. <script type="text/javascript">
  7. function alerta(cod){
  8. alert(cod);
  9. }
  10. abajo
  11. </body>
  12. </html>

Es decir, la función de abajo recibe valores y es llamada desde la función definida en el marco superior con
Código Javascript:
Ver original
  1. parent.abajo.alerta(codigo);

Saludos

gracias por tu respuesta emprear... estoy analizando el codigo que me dejaste... lo probare y te cuento. un saludo

pd: a lo que llamaba proceso es que tengo una pagina llamada proceso.php y en el agrego el dato a la base de datos.

Última edición por lkriss; 19/12/2012 a las 13:47 Razón: agregar texto
  #5 (permalink)  
Antiguo 19/12/2012, 14:26
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Necesito limpiar un campo en javascript

Ahora estoy dudando de que quieras pasar un valor de javascript al marco inferior.
el form admite el atributo target, en el cual podés especificar el frame(iframe) de destino. Para vaciar el campo usas reset();
Código HTML:
Ver original
  1. <form action="proceso.php" target="abajo" onsubmit="this.reset();">
  2. <input type="text" id="c" />
  3. <input type="submit" value="procesar" />
  4. </form>
El código del post previo obvialo si es esta la situación
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 19/12/2012, 15:39
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Respuesta: Necesito limpiar un campo en javascript

Cita:
Iniciado por emprear Ver Mensaje
Ahora estoy dudando de que quieras pasar un valor de javascript al marco inferior.
el form admite el atributo target, en el cual podés especificar el frame(iframe) de destino. Para vaciar el campo usas reset();
Código HTML:
Ver original
  1. <form action="proceso.php" target="abajo" onsubmit="this.reset();">
  2. <input type="text" id="c" />
  3. <input type="submit" value="procesar" />
  4. </form>
El código del post previo obvialo si es esta la situación
Saludos
claro emprear acertaste jeje , no queria pasar un valor.... actualmente te dejare lo que hize segun tus modificaciones ( dejare el formulario tal cual ) :

Código HTML:
<form id="form3" name="form3" method="post" action="group.php" target="DownFrame"  onsubmit="this.reset();">
  <table width="776" border="1" cellspacing="0">
    <tr>
      <th width="200" height="45"> Codigo de Barra<br />
        <input type="text" name="codbarr" id="codbarr" /></th>

      <th width="269"><label for="estado">Estado<br />
      </label>
        <select name="estado" id="estado" class="comboBox" onChange="return comboBox();">
          <?
			$queryEstado="SELECT descripcion FROM TB_Estado_Prov";
			$resultado=mssql_query($queryEstado);
			
			while($descripcion=mssql_fetch_array($resultado)){
			
			echo'<OPTION VALUE="'.$descripcion['descripcion'].'">'.$descripcion['descripcion'].'</OPTION>';
			} 
            ?>
        </select></th>
      <th width="420"><div id="mot_obj" style="display:none" >
        <label for="mot_obj">Motivo Objecion</label><br />
        <select name="mot_obj" id="mot_obj" class="comboBox">
          <?
		    $queryMotivo="SELECT descripcion FROM TB_motivoObjecion_Prov";
			$resultado2=mssql_query($queryMotivo);
			
			while($descripcion2=mssql_fetch_array($resultado2)){
				echo'<OPTION VALUE="'.$descripcion2['descripcion'].'">'.$descripcion2['descripcion'].'</OPTION>';
				
				}
		?>
          </select>
        <input type="submit" name="ingresar" id="ingresar" value="Ingresar"/>
      </div></th>
      <tr>
      </table>
  </form> 
el punto es que al hacer esto se me reinicia el formulario (que es lo que necesito), pero no me ejecuta el formulario de abajo (group.php), para dejar un poco mas claro.. dejare aqui lo que contiene el group.php :

Group.php :
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Descarga de Ticket</title>
<body>
<div id="apDiv1">
  <form name="fo" method="post"  action="delete.php" target="DownFrame">
  <fieldset><legend class="ss">Lista de clientes</legend> 
<?
if($estado<>"OBJETADO-VALIJA")
{
 
               if(
$_SESSION['codigoBarra']==$codDoc && $idMensajero==$idmjs// COMPARACION CON OTDOCUMENTOS
            
{    
            
            
                  if(
$_SESSION['codigoBarra']!=$codDocTemp// COMPARACION CON TB_TEMPORAL
                  
{
                            
$sqlInsert="insert into Temporal(CodigoDocumento,NumeroOt,Destinatario,Direccion,Comuna,EstadoDocumento,Receptor,Fecha,Hora,IdMensajero,MotivoObjecion) 
                            values ('"
.$codDoc."','".$numOt."','".$destinatario."','".$direccion."','".$comuna."','".$estado."','".$receptor."','".$fecha."','".$hora."',
                            '"
.$idMensajero."','')";
             
                            
$exec=mssql_query($sqlInsert,$conexion);
                   }
                   else
                    {
                     
?>
                     <script language="javascript">
                         alert ("El codigo ya ha sido ingresado con anterioridad");
                     </script>
                     
                     <?
                     
}
               }
             else
            {
             
?>
             <script language="javascript">
                 alert ("El codigo no Existe");
             </script>
             
             <?
             
}
            
         
}
}
if(
$estado=="OBJETADO-VALIJA")
{
        
$sqlInsert2="insert into Temporal(CodigoDocumento,NumeroOt,Destinatario,Direccion,Comuna,EstadoDocumento,Receptor,Fecha,Hora,IdMensajero,MotivoObjecion) 
                    values ('"
.$codDoc."','".$numOt."','".$destinatario."','".$direccion."','".$comuna."','".$estado."','".$receptor."','".$fecha."','".$hora."',
                    '"
.$idMensajero."','".$motivoObjecion."')";
        
$exec=mssql_query($sqlInsert2,$conexion);
}
?>
</body>
</html>
  #7 (permalink)  
Antiguo 19/12/2012, 16:07
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Necesito limpiar un campo en javascript

se complica porque habría que estar analizando todo el php, por lo pronto te aclaro que si no tenés register Globals en on $estado va a estar indefinido, hacé esta prueba simple
Group.php (y aqui un detalle extra, si no estás trabajando en windows Group.php no es lo mismo que group.php)

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['estado'])){
  3. $estado = $_POST['estado'];
  4. echo "Estado = " . $estado;
  5. }else{
  6. echo "no se recibió \$estado";
  7. }
  8.  
  9. ?>

y sería bueno ver el html generado del form y no el php que lo genera

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 20/12/2012, 09:43
 
Fecha de Ingreso: julio-2011
Ubicación: Santiago, Chile.
Mensajes: 95
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Necesito limpiar un campo en javascript

Gracias a todos por ayudarme con este tema, sin sus comentarios no podria haber llegado a la solucion que fue mas facil de lo que pense, pero ahora me funciona sin problemas. bueno asi como uds dejaron mensajes para ayudarme ahora dejare la solucion por si alguien tiene el mismo problema :

Solucion
Primero cree el script:
Cita:
<script type="text/javascript">
function checkKey(key)
{

var unicode
if (key.charCode)
{unicode=key.charCode;}
else
{unicode=key.keyCode;}
//alert(unicode); // Para saber que codigo de tecla presiono , descomentar */
var codigo = document.getElementById('codbarr').value;

if (unicode == 13)
{

location.reload();
//alert('Presiono enter');*/

}
}
</script>
y en el formulario hice lo siguiente :
Cita:
<fieldset>
<legend>Descargar</legend>
<form id="form3" name="form3" method="post" action="group.php" target="DownFrame" >
<table width="776" border="1" cellspacing="0">
<tr>
<th width="200" height="45"> Codigo de Barra<br />
<input type="text" name="codbarr" id="codbarr" onKeyPress="checkKey(event);" /></th>
<th width="269"><label for="estado">Estado<br />
</label>
<select name="estado" id="estado" class="comboBox" onChange="return comboBox();">
<?
$queryEstado="SELECT descripcion FROM TB_Estado_Prov";
$resultado=mssql_query($queryEstado);

while($descripcion=mssql_fetch_array($resultado)){

echo'<OPTION VALUE="'.$descripcion['descripcion'].'">'.$descripcion['descripcion'].'</OPTION>';
}
?>
</select></th>
<th width="420"><div id="mot_obj" style="display:none" >
<label for="mot_obj">Motivo Objecion</label><br />
<select name="mot_obj" id="mot_obj" class="comboBox">
<?
$queryMotivo="SELECT descripcion FROM TB_motivoObjecion_Prov";
$resultado2=mssql_query($queryMotivo);

while($descripcion2=mssql_fetch_array($resultado2) ){
echo'<OPTION VALUE="'.$descripcion2['descripcion'].'">'.$descripcion2['descripcion'].'</OPTION>';

}
?>
</select>
<input type="submit" name="ingresar" id="ingresar" value="Ingresar"/>
</div></th>
<tr>
</table>
</form>
</fieldset>
asi que gracias a emprear y david.

un saludo.

Etiquetas: formulario, validar
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 22:59.