Foros del Web » Programando para Internet » Javascript »

Mas de una variable

Estas en el tema de Mas de una variable en el foro de Javascript en Foros del Web. Hola amigos: Voy al grano. Tengo un formulario formu.php , y un recibe.php Lo que quiero es enviar todas las variables de mi formulario al ...
  #1 (permalink)  
Antiguo 01/03/2012, 21:36
Avatar de molinojopiento  
Fecha de Ingreso: septiembre-2004
Mensajes: 128
Antigüedad: 19 años, 8 meses
Puntos: 1
Mas de una variable

Hola amigos:

Voy al grano.

Tengo un formulario formu.php , y un recibe.php

Lo que quiero es enviar todas las variables de mi formulario al recibe.php hacer consultas, echo , arrays etc y los echo se muestren en un div en el mismo formu.php.

Tengo este codigo pero solo puedo enviar una variable. Alguna ayuda porfa.

Formulario.php
Código:
 <script type="text/javascript">
function disableCheck(field, causer) {
if (causer.checked) {
field.checked = false;
field.disabled = true;
}
else {
field.disabled = false;
}
}



function disableUno() {
field = formulario.horas

if (formulario.horas.checked || formulario.dias.checked) {
field.checked = false;
field.disabled = true;
}
else {
field.disabled = false;
}
}

</script>
<script type="text/javascript" src="funciones.js"></script>
<form name="formulario" method="post" action="1.php">
  <label>
  <input name="fecha" type="text" id="fecha" value="06-02-2012" onblur="enviar(); return false">
  </label>
  <p>
    <label>
    <input type="checkbox" name="dias" onClick="disableUno()" value="d">
    Dia completo    </label>
    <label>Cantidad
    <select name="ndias" id="ndias">
      <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>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
    </select>
    </label>
  </p>
  <p>
    <label>
    <input type="checkbox" name="jornadas"  value="j">
    </label> 
  Media Jornada 
  <select name="njornadas" id="njornadas">
    <option value="1">AM</option>
    <option value="2">PM</option>
      </select>
  </p>
  <p>
    <label>
    <input type="checkbox" name="horas"  value="h">
    </label> 
    Horas
    <select name="nhoras" id="nhoras">
      <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>
      <option value="6">6</option>
      <option value="7">7</option>
        </select>
  </p>
  <p>
    <input type="text" name="textfield2">
  </p>
  <input name="" type="submit" value="Enviar">
</form>
<div id="resultado"></div>
funciones.js
Código:
function enviar(){
	resul = document.getElementById('resultado');
	
	bus=document.formulario.fecha.value;
	bus2=document.formulario.ndias.value;
	
	ajax=nuevoAjax();
	ajax.open("POST", "recibe.php",true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			resul.innerHTML = ajax.responseText
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send("busqueda="+bus)
       ajax.send("busqueda2="+bus2) // esto al parecer no existe pq no me funka :P
recibe.php
Código:
 <?php


$hola=$_POST['busqueda'];
$hola2=$_POST['busqueda2'];


echo $hola;
echo $hola2;
?>
Agradesco sus respuestas.
__________________
:-D algun dia sere el mejor....... :aplauso:

Última edición por molinojopiento; 01/03/2012 a las 21:55 Razón: explicar detalles
  #2 (permalink)  
Antiguo 01/03/2012, 22:30
Avatar de rigobcastro  
Fecha de Ingreso: febrero-2012
Ubicación: Lejanías
Mensajes: 69
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: Mas de una variable

¿Cuál libreria es esta? Te recomiendo trabajar con jQuery y su función $.serialize(); para enviar todos los campos de un formulario a través de sus metodos de AJAX, $.get, $.post, $.load o la funcion completa $.ajax.

Es muy fácil de usar y te ahorrarás muchos dolores de cabeza.

http://jquery.com
  #3 (permalink)  
Antiguo 01/03/2012, 23:11
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Mas de una variable

¡buenas!
Cita:
ajax.send("busqueda="+bus)
ajax.send("busqueda2="+bus2) // esto al parecer no existe pq no me funka :P
he hojeado muy por encima el código y esto fue lo primero que me llamo la atención. no es que no existe, sino que tu problema es de procedimiento. cuando obtienes un objeto ajax (en realidad, xmlhttprequest), dicho objeto tiene diferentes estados: UNSENT, OPENED, HEADERS_RECEIVED, LOADING, y DONE [1]. cada uno tiene que ir por su orden y no es posible volver a uno anterior una vez llegado a ese estado o saltarse alguno. el punto es que estas intentando enviar dos veces la petición y no es posible volver a reenviar otra petición una vez el objeto alcance su último estado a no ser que reinicies el objeto (método abort). simplemente, lo que debes hacer es crear todos los parámetros de una vez formando una URL válida antes de enviar la petición. es decir, parametro=valor&variable=otro_valor&...

[1] - http://www.w3.org/TR/XMLHttpRequest/...est-readystate


Cita:
¿Cuál libreria es esta?
ninguno, simplemente esta usando puro javascript.
  #4 (permalink)  
Antiguo 01/03/2012, 23:14
Avatar de rigobcastro  
Fecha de Ingreso: febrero-2012
Ubicación: Lejanías
Mensajes: 69
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: Mas de una variable

Cita:
Iniciado por zerokilled Ver Mensaje
ninguno, simplemente esta usando puro javascript.
No, esto es AJAX desde Javascript Nativo o puro xD!

Código Javascript:
Ver original
  1. function loadXMLDoc()
  2. {
  3. var xmlhttp;
  4. if (window.XMLHttpRequest)
  5.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  6.   xmlhttp=new XMLHttpRequest();
  7.   }
  8. else
  9.   {// code for IE6, IE5
  10.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  11.   }
  12. xmlhttp.onreadystatechange=function()
  13.   {
  14.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  15.     {
  16.     document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  17.     }
  18.   }
  19. xmlhttp.open("GET","ajax_info.txt",true);
  20. xmlhttp.send();
  21. }

Y crear un array para las variables, funcionaria ???

Última edición por rigobcastro; 01/03/2012 a las 23:19
  #5 (permalink)  
Antiguo 02/03/2012, 16:26
Avatar de molinojopiento  
Fecha de Ingreso: septiembre-2004
Mensajes: 128
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Mas de una variable

Gracias por sus respuestas intentare con la libreria Jquery. Saludos.
__________________
:-D algun dia sere el mejor....... :aplauso:

Etiquetas: ajax
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 18:11.