Foros del Web » Programando para Internet » Javascript »

Se pierden mis variables php al querer usarlas en un formulario llamado por ajax

Estas en el tema de Se pierden mis variables php al querer usarlas en un formulario llamado por ajax en el foro de Javascript en Foros del Web. Buenas tardes colegas, el problema que tengo es que en mi documento yo muestro unas modal por jQuery, luego por ajax cargo un formulario dentro ...
  #1 (permalink)  
Antiguo 16/04/2013, 13:45
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 12 años, 5 meses
Puntos: 6
Exclamación Se pierden mis variables php al querer usarlas en un formulario llamado por ajax

Buenas tardes colegas, el problema que tengo es que en mi documento yo muestro unas modal por jQuery, luego por ajax cargo un formulario dentro de esa modal... algo como esto:

Código PHP:
<?php 
$m 
$this->obtenerDato("motivos");

?>
<h2>Variables de Entorno</h2>
<section id="BotoneraInterna" class="well well-small row-fluid">
</section>

<div id="EditarMotivos" title="Editar Motivos Globales">
<!--aquí cargo lo que esta en formulariomotivos.php-->
</div>
Y cargo formulariomotivos.php con un .load en mi documento js.. así..
Código HTML:
$('#EditarMotivos').load('modulos/variables_de_entorno/vista/html5/frmeditarmotivos.php');
Esto funciona correctamente, pero el problema está en que la variable $m (que es un objeto) cuando trato de trabajarla en el formulario que se muestra mediante el modal no existe. Se pierden los valores... Mi documento del formulario que se carga por el load es este...

Código HTML:
<form method="POST" id="FrmEditarMotivos">
				<table class="table">
					<tr>
						<td><span class="error">*</span>Retraso en Minutos: </td> 
						<td>
							<select id="RetrasoEnMinutos">
								<option value=''></option>
								<?php 
									for ($i=0; $i < count ($m) ; $i++){
										$objt = $m[$i];
									echo "<option value='".$objt->obtenerId()."'>".$objt->obtenerDescripcion()."</opction>" ;
								}?>
							</select>
						</td>
					</tr>
</form> 
Como pueden ver armo un select con ese objeto, y no puedo, osea me llegan los valores vacíos...

Intenté colocar la linea
Código PHP:
$m $this->obtenerDato("motivos"); 
Y me da error en el modal indicandome que $this no puede ser usado porque no pertenece a un objeto... osea que no me esta tomando nada...

Será que estoy haciendo algo mal en la carga del DOM? la verdad no encuentro al solución..

Gracias por su atención.
  #2 (permalink)  
Antiguo 16/04/2013, 13:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Se pierden mis variables php al querer usarlas en un formulario llamado po

Debes tener en cuenta la petición que haces por Ajax es una nueva petición HTTP; esa es la razón por lo que la variable $m ya no existe al llamar a frmeditarmotivos.php
Dependiendo de qué tienes en ese valor, debes enviarlo por la URL, por POST, o persistirlo usando sesiones o cookies.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/04/2013, 14:03
 
Fecha de Ingreso: junio-2012
Ubicación: Venezuela
Mensajes: 68
Antigüedad: 12 años, 5 meses
Puntos: 6
Respuesta: Se pierden mis variables php al querer usarlas en un formulario llamado po

Cita:
Iniciado por David Ver Mensaje
Debes tener en cuenta la petición que haces por Ajax es una nueva petición HTTP; esa es la razón por lo que la variable $m ya no existe al llamar a frmeditarmotivos.php
Dependiendo de qué tienes en ese valor, debes enviarlo por la URL, por POST, o persistirlo usando sesiones o cookies.
El problema es que $m es todo un objeto... gracias, ya entiendo porque no funciona. Pero aun no se como solucionarlo... Sera poner el formulario en el documento principal para no usar el .load. El problema es que el formulario es largo y me desorganiza un poco mi mvc en esa acción. pero bueno será así... muchas gracias

Etiquetas: ajax, jquery, jquery-ajax, php, variables
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 10:19.