Retroceder   Foros del Web > Diseño de Sitios web > (X)HTML

Respuesta
 
Herramientas Desplegado
Antiguo 16-mar-2005, 07:18   #1 (permalink)
lcrecarey ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Pregunta Modificar un campo de un formulario desde otro frame

Hola forer@s:

Tengo un frame llamado superior en el que tengo un formulario con 2 campos: doctor y fecha.
Código HTML:
<!-- (superior.php) -->

<form name="fechaCita" method="get" action="inferior.php" target="inferior"> 
 <font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
  <strong>Fecha cita:</strong> 
 </font> 
 <?php
   escribe_formulario_fecha_vacio("fecha","fechaCita"); 
   // abre una ventana desde la que se puede seleccionar la fecha comodamente  
 ?>
 <?php 
    include("conexion.phtml"); 
    $link=Conectarse(); 
    $result=mysql_query("select Codigo,Nombre from doctores",$link); 
 ?>
 <font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
   <strong>Doctor: </strong>
   <select name="doctor" onChange="window.document.fechaCita.submit()">  
     <option value=0 selected> Seleccione un doctor </option>
     <?php 
        while($row = mysql_fetch_array($result)) 
          { 	
	     echo  "<option value= ". $row['Codigo'] .">".$row['Nombre']."\n";
	     echo "</option>";
          } 
        mysql_free_result($result); 
        mysql_close($link); 
     ?>
   </select> 	
 </font>
</form>
Y en otro frame llamado inferior visualizo las citas del doctor elegido en la fecha seleccionada.
Y también permito moverse a un día antes o un día despues. Y aquí está mi problema: Necesito modificar el día en el frame superior, en el campo fecha.
El código en el que me muevo de día es:

Código PHP:
//(inferior.php)

echo '<form name="siguienteDia" method="get" action="inferior.php">
      <input type="hidden" name="doctor" value="'
.$doctor.'"> 
      <input type="hidden" name="fecha" value="'
.$fecha_sig.'">
      <input type="image" src="../Imagenes/siguiente.JPG"> 
      </form>'
;
echo 
'<form name="dia_anterior" method="get" action="inferior.php">
      <input type="hidden" name="doctor" value="'
.$doctor.'"> 
      <input type="hidden" name="fecha" value="'
.$fecha_ant.'">
      <input type="image" src="../Imagenes/anterior.JPG">
      </form>'

¿Alguien podría decirme por donde empieza una buena solución para modificar desde inferior.php el contenido del campo fecha, que está en superior.php ?
Gracias de antemano.

Última edición por lcrecarey; 16-mar-2005 a las 07:23.
lcrecarey está desconectado   Responder Citando
Antiguo 16-mar-2005, 07:36   #2 (permalink)
$moderador{'Esteban'}
monoswim llegará a ser famoso muy prontomonoswim llegará a ser famoso muy pronto
 
Avatar de monoswim
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.434
Enviar un mensaje por MSN a monoswim
Se hace así

nombre_ventana.nombre_fiormulario.nombre_campo.val ue = "Soy lo más!!!";

en tu caso no lo leí todo pero sería

superior.formulario.nombre.value = "MonoSwim";

Espero que te sirva, saludos
__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
monoswim está desconectado   Responder Citando
Antiguo 16-mar-2005, 07:47   #3 (permalink)
Moderador
caricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy prontocaricatos llegará a ser famoso muy pronto
 
Avatar de caricatos
 
Fecha de Ingreso: noviembre-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 12.211
Hola lcrecarey:

Veo que sigues con tu página, y te ha funcionado sin el uso de javascript, pero en este caso me parece que lo mejor es usar ese lenguaje...

Puedes hacerlo desde un script del mismo marco o desde el marco hermano...

La cuestión es que para comunicarse entre marcos hermanos (frames) hay que pasar por el padre (parent)... y la solución javascript es desde el evento onsubmit del formulario.

echo '<form name="siguienteDia" method="get" action="inferior.php" onsubmit="parent.superior.modificar(fecha.value)">
<input type="hidden" name="doctor" value="'.$doctor.'">
<input type="hidden" name="fecha" value="'.$fecha_sig.'">
<input type="image" src="../Imagenes/siguiente.JPG">
</form>';

Y en el marco superior definir la función modificar más o menos así:

function modificar(nuevaFecha) {
document.forms.fechaCita.fecha.value = nuevaFecha
}

Nota: Supongo que la fecha es un campo del formulario con el nombre fecha...

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
caricatos esta en línea ahora   Responder Citando
Antiguo 16-mar-2005, 09:04   #4 (permalink)
lcrecarey ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Hola!
Probé con
Código HTML:
<form name="siguienteDia" method="get" action="inferior.php" onsubmit="parent.superior.modificar("<?php $fecha_sig ?>")">
...
</form>
y con
Código HTML:
...
<input type="image" src="../Imagenes/siguiente.JPG" onClick="superior.fechaCita.fecha.value =" <?php $fecha_sig ?>  "  >
...
pero los dos me hacen lo mismo: Me dejan el frame superior intacto y el inferior vacío.
Me pregunto si el problema puede estar en el campo fecha, que no se "declara" explícitamente en superior.php.
Código HTML:
<form name="fechaCita" method="get" action="inferior.php" target="inferior"> 
 <font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
  <strong>Fecha cita:</strong> 
 </font> 
 <?php
   escribe_formulario_fecha_vacio("fecha","fechaCita"); 
   // abre una ventana desde la que se puede seleccionar la fecha comodamente  
 ?>
</form>
sino que se pasa su nombre a la función y se "crea" en calendario.php:
Código PHP:
function escribe_formulario_fecha_vacio($nombrecampo,$nombreformulario)
{
global 
$raiz;
echo 
'
<INPUT name="'
.$nombrecampo.'" size="10">
<input type=button value="Seleccionar fecha" onclick="muestraCalendario(\''
$raiz.'\',\''$nombreformulario .'\',\''.$nombrecampo.'\')">
'
;    

¿Alguna sugerencia de si puede ser ese el problema?
Gracias por vuestra colaboración.
lcrecarey está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:19.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93