Hola amigos del foro tengo un problema espero me puedan ayudar. tengo una pagina que hace una tabla dinamicamente en donde un boton abre una ventana nueva con un formulario. Al submit el formulario tengo una funcion return window open() esto me retorna a la ventana principal pero a veces recarga la pagina y a veces no.....quizas sea un problema de codigo
la ventana principal seria asi
Código HTML:
<p>[PHP]
print '<table width="100%" border="1" cellpadding="1" cellspacing="1" bordercolor="#999999" style="cursor:pointer" >';
$query1 = mysql_query("SELECT * FROM citas WHERE id_user='$id' AND fecha='$f_agenda' ORDER BY hora_inicio") or die("Error en query");
$datos1 = mysql_fetch_array($query1);
$horacitaini = $datos1['hora_inicio'];
$horacitafinal = $datos1['hora_final'];
$ayuda= $media;
$contador =1;
$cont = mysql_num_rows($query1);
while($clock<=$horaf)
{
$id_p = $datos1['id_paciente'];
$id_proc = $datos1['id_proced'];
$status = $datos1['status'];
$query2 = mysql_query("SELECT nombre,apellido FROM pacientes WHERE id_paciente='$id_p'") or die("Error en query2");
$datos2 = mysql_fetch_array($query2);
$paciente = $datos2['nombre'].' '.$datos2['apellido'];
$query3 = mysql_query("SELECT * FROM procedimientos WHERE id_procedimiento ='$id_proc'") or die("Error en query3");
$datos3 = mysql_fetch_array($query3);
$procedimiento = $datos3['nombre_p'];
$valor = $datos3['valor'];
$desc = $paciente.$procedimiento.' '.'Bs '.$valor.' '.$status;
$contador = $contador%2;
//$cont = mysql_num_rows($query1);
echo $cont;
if ($cont ==0){
if ($contador==1){
print ' <tr bgcolor="white" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="white"\' style="cursor:pointer">
<td bgcolor="" > </td>
<td bgcolor=""\ ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p=0&idp2=0&stat=0&val=0&pro=0&idp=0&fecha='.$fech2.'&hora='.date("H:i",strtotime($media)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();" onfocus="this.blur()"> <input type="submit" name="Submit" value="'.date("h:i",strtotime($media)).'" on></a></div></td>
<td bgcolor="" onclick="javascript:show(); return false;" onfocus="this.blur()"> </td>
</tr>';
}
if($contador==0){
print '<tr bgcolor="#f8f8f8" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="#F8F8F8"\' style="cursor:pointer">
<td width="3%" bgcolor="" > </td>
<td width="6%" bgcolor="" ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p=0&idp2=0&stat=0&val=0&pro=0&idp=0&fecha='.$fech2.'&hora='.date("H:i",strtotime($media)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();" onfocus="this.blur()"><input type="submit" name="Submit" value="'.date("h:i",strtotime($media)).'"></a></div></td>
<td width="91%" bgcolor="" onclick="javascript:show(); return false;" onfocus="this.blur()"> </td>
</tr>';
}
}
else{
if($media==$horacitaini || $ayuda==$horacitaini){
if ($contador==1){
print ' <tr bgcolor="#EDF3FE" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="#EDF3FE"\' >
<td bgcolor="" > </td>
<td bgcolor="" ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p='.$id_proc.'&idp2='.$id_p.'&stat='.$status.'&val='.$valor.'&pro='.$procedimiento.'&idp='.$paciente.'&fecha='.$fech2.'&hora='.date("H:i",strtotime($horacitaini)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();" onfocus="this.blur()"> <input type="submit" name="Submit" value="'.date("h:i",strtotime($horacitaini)).'" on></a></div></td>
<td bgcolor="" onclick="javascript:show2(); return false;" onfocus="this.blur()"> '.$desc.'</td>
</tr>';
}
if($contador==0){
print '<tr bgcolor="#EDF3FE" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="#EDF3FE"\' >
<td width="3%" bgcolor="" > </td>
<td width="6%" bgcolor="" ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p='.$id_proc.'&idp2='.$id_p.'&stat='.$status.'&val='.$valor.'&pro='.$procedimiento.'&idp='.$paciente.'&fecha='.$fech2.'&hora='.date("H:i",strtotime($horacitaini)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();" onfocus="this.blur()"><input type="submit" name="Submit" value="'.date("h:i",strtotime($horacitaini)).'"></a></div></td>
<td width="91%" bgcolor="" onclick="javascript:show2(); return false;" onfocus="this.blur()"> '.$desc.'</td>
</tr>';
}
$media = dif($horacitafinal,"00:30:00");
$clock= $media;
$datos1 = mysql_fetch_array($query1);
$horacitaini = $datos1['hora_inicio'];
$horacitafinal = $datos1['hora_final'];
}
else{
if ($contador==1){
print ' <tr bgcolor="white" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="white"\' >
<td bgcolor="" > </td>
<td bgcolor="" ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p=0&idp2=0&stat=0&val=0&pro=0&idp=0&fecha='.$fech2.'&hora='.date("H:i",strtotime($media)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();;" onfocus="this.blur()"> <input type="submit" name="Submit" value="'.date("h:i",strtotime($media)).'" on></a></div></td>
<td bgcolor="" onclick="javascript:show(); return false;" onfocus="this.blur()"> </td>
</tr>';
}
if($contador==0){
print '<tr bgcolor="#f8f8f8" onmouseover=\'this.style.background="#666666"\' onmouseout=\'this.style.background="#F8F8F8"\' >
<td width="3%" bgcolor="" > </td>
<td width="6%" bgcolor="" ><div align= "center"><a href="agendabox.php?f='.$f_agenda.'&p=0&idp2=0&stat=0&val=0&pro=0&idp=0&fecha='.$fech2.'&hora='.date("H:i",strtotime($media)).'" onclick="NewWindow(this.href,\'agenda\',\'500\',\'480\',\'yes\',\'center\');return false; window.location.reload();" onfocus="this.blur()"><input type="submit" name="Submit" value="'.date("h:i",strtotime($media)).'"></a></div></td>
<td width="91%" bgcolor="" onclick="javascript:show(); return false;" onfocus="this.blur()"> </td>
</tr>';
}
}
}
$media = sumahoras($media,"00:30:00");
$ayuda = dif($media,'00:30:00');
$contador = $contador+1;
$clock= sumahoras($clock,"00:30:00");
}
print '</table>';
//print '</form>'
[/PHP]
</form> </p>
la ventana se llama mediante NewWindow() y la ventana hija donde esta el formulario es asi
Código HTML:
<body>
<form name="form1" method="post" action="agendabox.php" onSubmit="<?php echo 'return window.open(\'agenda.php?dia='.$d.'&mes='.$m.'&ano='.$y.'&Month='.$M.'&salir=gracias\',\'ventanaprincipal\'); return false; window,opener.location.reload();self.close();' ?>">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3"><input name="fecha" type="text" class="caja" id="fecha" value="<?php echo $fecha_a; ?>" size="30"> </td>
<td><?php echo $hora;?></td>
<td width="53"><input name="hora" type="text" id="hora" size="7" value="<?php echo $hora;?>"> </td>
<td colspan="2"><input name="guardar" type="submit" id="guardar" value="Guardar"></td>
<td><input type="submit" name="Submit3" value="Historia"></td>
<td><input name="proc" type="hidden" id="proc" size="12" value="<?php echo $idproc; ?>"></td>
</tr>
<tr>
<td colspan="4"> </td>
<td> </td>
</tr>
</table>
</form>
[PHP]
if (isset($_POST['guardar'])){
$hora = $_POST['hora'];
$paciente_name = $_POST['pacientes'];
$proc = $_POST['procedimiento'];
$valor = $_POST['valor'];
$obs = $_POST['observaciones'];
$status = $_POST['status'];
$tiempo = $_POST['tiempo'];
$fecha = $_POST['fecha'];
$fecha_data = $_POST['fecha2'];
$id_paciente = $_POST['id_pac'];
$id_procedimiento = $_POST['proc'];
$hora = $hora.":00";
$hora = date("G:i:s",strtotime($hora));
echo $hora;
$tiempo = "00:".$tiempo.":00";
$horafinal = sumahoras($hora,$tiempo);
//echo $fecha;
//echo $fecha_data;
$fechadata = explode("-",$fecha_data);
$ano= $fechadata[0];
$mes= $fechadata[1];
$dia= $fechadata[2];
$query= mysql_query("INSERT INTO citas(id_user,id_paciente,id_proced,fecha,hora_inicio,hora_final,status) VALUES('$id','$id_paciente','$id_procedimiento','$fecha_data','$hora','$horafinal','$status')") or die("ERROR en insertar");
if($query){
//echo $hora;
header("location:agenda.php?dia=$dia&mes=$mes&ano=$ano&Month=&salir=gracias ");
}
}
[/PHP]
</body>
Cualquier ayuda gracias!!