Foros del Web » Programando para Internet » PHP »

recargar pagina

Estas en el tema de recargar pagina en el foro de PHP en Foros del Web. hola amigos de foro paso rapido a exponer mi tema,miren tengo un formulario en el cual se encuantran algunos campos te textos,textarea y combobox,pero cada ...
  #1 (permalink)  
Antiguo 19/11/2009, 12:03
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
recargar pagina

hola amigos de foro paso rapido a exponer mi tema,miren tengo un formulario en el cual se encuantran algunos campos te textos,textarea y combobox,pero cada ves que elijo diferente informacion del combobox se me recarga la pagina y se me borra todo lo del formulario alguna manera que pueda yo seleccionar lo que quiera del combobox cuantas veces quiera sin que se me borre el formulario??? no importa que se recarge la pagina ya que.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #2 (permalink)  
Antiguo 19/11/2009, 12:06
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: recargar pagina

¿Estás usando algún código Javascript en ese <select>?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/11/2009, 12:10
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

No,sólo codigo php ya que los combobox son dinamicos porque los cargo con informacion de my bd y es ahi cuando selecciono algo del combo se recarga la page y se borra todo.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #4 (permalink)  
Antiguo 19/11/2009, 12:26
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: recargar pagina

Posta tu código para que podamos ayudarte.
  #5 (permalink)  
Antiguo 19/11/2009, 12:27
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: recargar pagina

Muestra el código del <select>, ya que no debería recargarse si no hay ningún script implicado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 19/11/2009, 12:41
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

Código HTML:
<form id="form2" name="form2" method="POST">
  
  
  <center>
    <table width="790" height="201" border="0" align="center">
    <tr>
          <td width="876"><fieldset>
            <legend>Datos de la empresa:</legend>&nbsp;
            <table width="689" height="374" border="0" align="center">
              <tr>
                <td width="199">Nombre de la empresa:</td>
                <td width="480"><label>
                  <input name="nom_empresa" type="text" id="nom_empresa" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>Dirección:</td>
                <td><label>
                  <input name="direccion" type="text" id="direccion" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>Delegación:</td>
                <td><label>
                  <input name="delegacion" type="text" id="delegacion" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>Estado:</td>
                <td>[PHP]<?php 
				if (!($link=mysql_connect("localhost","root","")))
				{
			        echo "error en la conexión";
        			exit();
    			}
			    if (!(mysql_select_db("gestioniso",$link)))
				{
			        echo "error al seleccionar la base de datos";
        			exit();
    			}
				  $str_sql="select id_estado, estado from estado order by orden";
				  $resultado1=mysql_query($str_sql,$link); 
				  echo "<select name=estado>";
					while(($registro1 = mysql_fetch_object($resultado1)))
					 {
						$id_estado=$registro1->id_estado;
						$estado=$registro1->estado;	
						echo "<option value=\"$id_estado\">$estado</option>";     
					 }
				  echo "</select>";
				?>[/PHP]</td>
              </tr>
              <tr>
                <td><label>Ciudad:</label></td>
                <td><label>
                  <input name="ciudad" type="text" id="ciudad" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>Código postal:</td>
                <td><label>
                  <input name="codigo" type="text" id="codigo" size="70" />
                </label></td>
              </tr>
              <tr>
                <td><label>Etapa del sistema ISO:</label></td>
                <td>[PHP]<?php 
				if (!($link=mysql_connect("localhost","root","")))
				{
			        echo "error en la conexión";
        			exit();
    			}
			    if (!(mysql_select_db("gestioniso",$link)))
				{
			        echo "error al seleccionar la base de datos";
        			exit();
    			}
				  $str_sql="select id_etapa, etapa from etapa order by orden";
				  $resultado1=mysql_query($str_sql,$link); 
				  echo "<select name=etapa>";
					while(($registro1 = mysql_fetch_object($resultado1)))
					 {
						$id_etapa=$registro1->id_etapa;
						$etapa=$registro1->etapa;	
						echo "<option value=\"$id_etapa\">$etapa</option>";     
					 }
				  echo "</select>";
				?>[/PHP]</td>
              </tr>
              <tr>
                <td>Giro:</td>
                <td><label>
                  <input name="giro" type="text" id="giro" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>R.F.C.:</td>
                <td><label>
                  <input name="rfc" type="text" id="rfc" size="70" />
                </label></td>
              </tr>
              <tr>
                <td>Forma de ingreso:</td>
                <td>[PHP]<?php 
				if (!($link=mysql_connect("localhost","root","")))
				{
			        echo "error en la conexión";
        			exit();
    			}
			    if (!(mysql_select_db("gestioniso",$link)))
				{
			        echo "error al seleccionar la base de datos";
        			exit();
    			}
				  $str_sql="select id_forma, forma from forma_ingreso order by orden";
				  $resultado1=mysql_query($str_sql,$link); 
				  echo "<select name=forma>";
					while(($registro1 = mysql_fetch_object($resultado1)))
					 {
						$id_forma=$registro1->id_forma;
						$forma=$registro1->forma;	
						echo "<option value=\"$id_forma\">$forma</option>";     
					 }
				  echo "</select>";
				?>[/PHP]</td>
              </tr>
              <tr>
                <td>Teléfono (s):</td>
                <td><label>
                  <input name="tel1" type="text" id="tel1" size="20" />
                  , 
                  <input name="tel2" type="text" id="tel2" size="20" />
                y 
                <input name="tel3" type="text" id="tel3" size="20" />
                </label></td>
              </tr>
              <tr>
                <td>Fax(s:)</td>
                <td><label>
                  <input name="fax1" type="text" id="fax1" size="20" />
                </label>
                  y
                  <label>
                    <input name="fax2" type="text" id="fax2" size="20" />
                  </label></td>
              </tr>
              <tr>
                <td height="22">Tipo de cliente:</td>
                <td><select name="c_tipocliente" onchange="this.form.submit()">
                     <option value="0">--Elija un tipo--</option>
                    [PHP]<?php
                        if (!($link=mysql_connect("localhost","root","")))
                        {
                            echo "error en la conexión";
                            exit();
                        }
                        if (!(mysql_select_db("gestioniso",$link)))
                        {
                            echo "error al seleccionar la base de datos";
                            exit();
                        }
                      $c_tipocliente=$_POST['c_tipocliente'];
                      $query="select id_cliente, tipo_cliente from tipo_cliente";
                      $resultado=mysql_query($query,$link);    
                        while(($registro1 = mysql_fetch_object($resultado)))
                         {
                            $id_cliente=$registro1->id_cliente;
                            $tipo_cliente=$registro1->tipo_cliente;	
                            if ($c_tipocliente==$id_cliente) 
                              $selected=" selected";
                            else 
                              $selected="";		 
                            echo "<option value=\"$id_cliente\" $selected>$tipo_cliente</option><br>";     
                         }
                    ?>[/PHP]
                    </select></td>
              </tr>
              <tr>
                <td></td>
                <td>[PHP]<?php
					  $combo_subtipo=$_POST['combo_subtipo'];						   
					  if($c_tipocliente>0 && $c_tipocliente==1)
					   {
							  $query="select id_subtipo,subtipo from sub_tipo where id_cliente=$c_tipocliente";
							  $resultado=mysql_query($query,$link);  
							  echo "<select name=combo_subtipo onchange=\"this.form.submit()\">";   
							  echo '<option value="0">--Elija un tipo--</option>';
								while(($registro1 = mysql_fetch_object($resultado)))
								 {
									$id_subtipo=$registro1->id_subtipo;
									$subtipo=$registro1->subtipo;
									if ($combo_subtipo==$id_subtipo) 
                              			$selected=" selected";
                           			else 
                              			$selected="";		 
                            			echo "<option value=\"$id_subtipo\" $selected>$subtipo</option><br>";	 
								 }
							  echo "</select>";
							  }
					   //si quiero un case
					  if($c_tipocliente==1)
					   {
						   if($combo_subtipo>0 && $combo_subtipo==1)
						   {
							   echo '<table width="500" border="0">';
							   echo '<tr><td>Referencia:</td><td><input type="text" name="texto" id="texto"/></td></tr>';
							   echo '<tr><td>Adjuntar Archivo:</td><td><input type="file" name="archivo2" id="archivo2"/></td></tr>';
							   echo '<tr><td>Escriba Justificación:</td><td><textarea name="area2" id="area2" cols="30" rows="3"></textarea></td></tr>';
							   echo '</table>';
						   }elseif($combo_subtipo==2)
						   {
							   echo '<table width="500" border="0">';
							   echo '<tr><td>Referencia:</td><td><input type="text" name="texto" id="texto"/></td></tr>';
							   echo '<tr><td>Escriba Justificación:</td><td><textarea name="area2" id="area2" 									cols="30" rows="3"></textarea></td></tr>';
							   echo '</table>';
						   }
					   }
					  if($c_tipocliente==2)
					   {
							echo '<table width="500" border="0">';
							echo '<tr><td>Adjuntar Archivo:</td><td><input type="file" name="archivo2" id="archivo2"/></td></tr>';
							echo '<tr><td>Escriba Justificación:</td><td><textarea name="area2" id="area2" cols="30" rows="3"></textarea></td></tr>';
							echo '</table>';
					   }
					  if($c_tipocliente==3)
					   {
					   }  
					?>[/PHP]
					</td>
              </tr>
            </table>
            <center></center>
            <p>
              <center>&nbsp;&nbsp;<input name="Guardar2" type="submit" class="style9" id="Guardar2" value="Guardar" />
&nbsp;&nbsp;&nbsp;
<input name="Cancelar2" type="reset" class="style9" id="Cancelar2" value="Cancelar" /> </center>           
            <p>&nbsp;</p>
          </fieldset></td>
        </tr>
      </table>
  </center>
  <input type="hidden" name="MM_insert" value="form2" />
</form> 
ustedes perdonaran pero es un formulario un poco grande....eso es lo que piden los clientes
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #7 (permalink)  
Antiguo 19/11/2009, 12:48
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: recargar pagina

Código Javascript:
Ver original
  1. onchange="this.form.submit()"
Ese código Javascript hace que se envíe el formulario cada vez que se selecciona un valor diferente. Si quieres que al hacerlo no se pierdan los datos, en cada campo debes recuperar el valor recibido. Por ejemplo:
Código PHP:
Ver original
  1. <input name="nom_empresa" type="text" id="nom_empresa" size="70" value="<?php echo (isset($_POST['nom_empresa'])) ? $_POST['nom_empresa'] : ''; ?>" />
Así con todos los demás campos.

Lo mejor sería que usaras Ajax para no tener que recargar la página cada vez que se selecciona un valor diferente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 19/11/2009, 13:00
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

Gracias David permieme hacerlo y vere si me funciona,oye pero si sigue funcionando mi

onchange="this.form.submit()"

verdad?? esque la verdad no se mucho php es por eso que ves por ahi cosas medias raras,pero no te asustes voy aprendiendo.Gracias por el aporte
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #9 (permalink)  
Antiguo 19/11/2009, 13:14
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

Cita:
Iniciado por David Ver Mensaje
Código Javascript:
Ver original
  1. onchange="this.form.submit()"
Ese código Javascript hace que se envíe el formulario cada vez que se selecciona un valor diferente. Si quieres que al hacerlo no se pierdan los datos, en cada campo debes recuperar el valor recibido. Por ejemplo:
Código PHP:
Ver original
  1. <input name="nom_empresa" type="text" id="nom_empresa" size="70" value="<?php echo (isset($_POST['nom_empresa'])) ? $_POST['nom_empresa'] : ''; ?>" />
Así con todos los demás campos.
David podrias edxplicarme un poco este codigo? esque solo entiendo muy poco como que recupera el valor de lo que contiene el campo de texto y ya,pero el ($_POST['nom_empresa']) "nom_empresa" es el nombre que tiene mi campo de texto?
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #10 (permalink)  
Antiguo 19/11/2009, 13:15
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: recargar pagina

Claro, es el nombre del campo.

El formulario se envía cada vez que cambias el valor del select, por lo que puedes recuperar los valores con $_POST['nombrecampo']
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 19/11/2009, 13:25
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

Cita:
Iniciado por David Ver Mensaje
Claro, es el nombre del campo.

El formulario se envía cada vez que cambias el valor del select, por lo que puedes recuperar los valores con $_POST['nombrecampo']
DAVID,UNA COSA MAS DESPUES DE QUE SE ENVIA EL FORMULARIO SE QUEDAN LOS DATOS RECUPERADOS Y SI PRESIONO EL BOTON CANCELAR PARA QUE RESTABLEZCA LOS CAMPOS NO LOS LIMPIA,ALGUNA MANERA DE COMO PUEDA YO HACER ESO? PORQUE SE SUPONE QUE EL BOTON CANCELAR LE PUSE QUE RESTABLECIERA LOS CAMPOS PERO YA NO LO HACE.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #12 (permalink)  
Antiguo 19/11/2009, 13:46
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: recargar pagina

Seguramente el botón "cancelar" hace un reset del form... como traes los value vía POST, los valores "por defecto" del form serán esos que traigas... a esta altura tienes que optar por una de dos alternativas: o hacer una función javascript que limpie todos los campos del form, o usar AJAX y asunto arreglado. ¡Suerte!
  #13 (permalink)  
Antiguo 19/11/2009, 13:55
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

Cita:
Iniciado por dggluz Ver Mensaje
Seguramente el botón "cancelar" hace un reset del form... como traes los value vía POST, los valores "por defecto" del form serán esos que traigas... a esta altura tienes que optar por una de dos alternativas: o hacer una función javascript que limpie todos los campos del form, o usar AJAX y asunto arreglado. ¡Suerte!
Oye que comes que adivinas eeee...eso es justo lo que necesito he creado una funcion en php la siguiente

Código PHP:

function LimpiarCampos()
{
    
$_POST["nom_empresa"]="";
    
$_POST["giro"]="";
    
$_POST["rfc"]="";
    
$_POST["direccion"]="";
    
$_POST["ciudad"]="";
    
$_POST["delegacion"]="";
    
$_POST["codigo"]="";
    
$_POST["tel1"]="";
    
$_POST["tel2"]="";
    
$_POST["tel3"]="";
    
$_POST["fax1"]="";
    
$_POST["fax2"]="";

que tal,si funcionó pero ando viendo otras cosas jeje...gracias
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #14 (permalink)  
Antiguo 19/11/2009, 14:12
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: recargar pagina

¿Cómo ejecutas esa función (cuándo se ejecuta, dónde está)?, ¿desde una página a la que llegas cambiando el submit del formulario cuando clickean en el botón "Cancelar"? Porque si la ejecutas siempre, entonces no podrás nunca "guardar" los datos cuando el usuario hace modifica el select... prueba eso porque sino puede traerte problemas. ¡Suerte!
  #15 (permalink)  
Antiguo 19/11/2009, 14:31
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

pues este es mi boton y lo puse en el onclic del boton cancelar

Código HTML:
<input name="Cancelar2" type="reset" class="style9" id="Cancelar2" value="Cancelar" onclick="LimpiarCampos()"/> 
pero podria tambien ponerlo al final del insert no crees? para que despues de que inserte tambien limpie
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #16 (permalink)  
Antiguo 19/11/2009, 14:59
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: recargar pagina

La función limpiar no se ejecutará porque está escrita en PHP que es un lenguaje de ejecución en el servidor. Ten en cuenta el circuito de las peticiones web (el usuario pide una página-> el browser conecta con el servidor-> el servidor procesa la petición (en tu caso, con PHP) -> el servidor envía la página web -> el usuario puede ver y usar la página, recién ahora podría apretar los botones del form). Cada vez que hacías un submit, en realidad lo que hacías era pedir una nueva página al servidor, por eso recarga toda la página, y por eso tienes que "guardar" los datos enviados al servidor (los campos del formulario). Necesitas usar algo de javascript, que es un lenguaje del lado del cliente (es decir que se ejecuta una vez que la página le llega al usuario). Además, si vas a usar un botón que no haga exactamente lo que hace el reset, te conviene usar un botón común y corriente:
Código HTML:
<input type="button" onclick="limpiarCampos()" /> 
, en lugar de usar un reset. Espero que se haya entendido algo lo que expliqué. ¡Suerte!
  #17 (permalink)  
Antiguo 19/11/2009, 15:13
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: recargar pagina

una pregunta DGGLUZ si uso un boton normal como el que me dices puedo utilizar mi funcion si o no? esque como comente antes el boton funcionaba bien hasta que recupere los valores como me comento DAVID.Ahora voy de salida posteo mas tarde va....
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #18 (permalink)  
Antiguo 19/11/2009, 15:34
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: recargar pagina

No pasa por el tipo de botón que uses. Lo que necesitas es hacer alguna de las siguientes opciones:
  • Implementar la función con javascript
  • Hacer que el botón en realidad haga un submit a otro script para perder los valores por post (o cambiar el método de envío de formulario); esta opción muy probablemente también requiera javascript.
  • O usar AJAX y asunto arreglado.
Yo en tu lugar intentaría usar javascript, aunque lo más recomendable creo que sería AJAX. ¡Suerte!
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:06.