Ver Mensaje Individual
  #16 (permalink)  
Antiguo 08/04/2009, 03:46
Koden
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: Pasar un vector de un archivo JS a uno PHP

Bueno, a falta de pillar bien los índices ya he dado como pasar el vector a PHP. (Cambiando eso sí, un par de cosillas al formar los array)

Código javascript:
Ver original
  1. arr_a = "[";
  2.  
  3. for (x2 = 0; x2 < ob_3.value; x2 ++)
  4. {
  5.     if (x2 == (ob_3.value - 1))
  6.         arr_a = arr_a + "{\"num_hab\":" + (x2 + 1) + ",\"num_ad\":" + ob_4.value + "}"
  7.     else
  8.         arr_a = arr_a + "{\"num_hab\":" + (x2 + 1) + ",\"num_ad\":" + ob_4.value + "},"
  9. }
  10.  
  11. arr_a = arr_a + "]";
  12.  
  13. arr_b = "[";
  14.  
  15. for (x2 = 0; x2 < ob_3.value; x2 ++)
  16. {
  17.     if (x2 == (ob_3.value - 1))
  18.         arr_b = arr_b + "{\"num_hab\":" + (x2 + 1) + ",\"num_ni\":" + ob_5.value + "}"
  19.     else
  20.         arr_b = arr_b + "{\"num_hab\":" + (x2 + 1) + ",\"num_ni\":" + ob_5.value + "},"
  21. }
  22.  
  23. arr_b = arr_b + "]";

Para pasar los valores del array js a un array php sólo se necesitan estas líneas (al menos para como yo estoy montando el array):

Código PHP:
Ver original
  1. $a_php = json_decode (stripslashes (urldecode ($_GET['a_php'])), true);
  2. $b_php = json_decode (stripslashes (urldecode ($_GET['b_php'])), true);

Y te explico lo que quiero hacer (quizás no me haya expresado con la suficiente claridad, te pido disculpas )

Verás, tengo un select donde escojo un número de habitaciones que quiero reservar, hasta un máximo de cinco.

Código HTML:
<div id="hab">
        <label for="num_attendees">
       	    	N&uacute;mero de habitaciones<br />
		<select id="num_attendees" tabindex="3">
			<option value="0">Seleccione</option>
			<option value="1">1</option>
			<option value="2">2</option>
			<option value="3">3</option>
			<option value="4">4</option>
			<option value="5">5</option>
		</select>
	</label>
</div> 
De ahí, hago aparecer a dos selects por cada habitación seleccionada (name_attendee_1_a, name_attendee_1_b, ... name_attendee_n_a, name_attendee_n_b) que básicamente asignarían el número de adultos asignados a la habitación n y el número de niños asignados a la habitación n...

Con lo que veo que tienes razón... Debería llenar ob_4 y ob_5 de la que estoy recorriendo ob_3... ¿Me equivoco?

Es decir, debería hacer esto (más o menos)

Código javascript:
Ver original
  1. for (x = 0; x < ob_3.value; x++)
  2. {
  3.     ob_4 = document.getElementById("name_attendee_" + x + "_a");
  4.     ob_5 = document.getElementById("name_attendee_" + x + "_b");
  5.  
  6.     //Llenar arr_a y llenar arr_b
  7. }

Muchas gracias por tu ayuda, venkman. ¡Gracias a tí estoy aprendiendo Javascript a marchas forzadas!