Foros del Web » Programando para Internet » Javascript »

recoger distintos valores con ajax

Estas en el tema de recoger distintos valores con ajax en el foro de Javascript en Foros del Web. Buenas gente!! He empezado a iniciarme con ajax y por el momento he conocido su funcionamiento básico, tengo un php en el cual vuelco datos ...
  #1 (permalink)  
Antiguo 24/09/2012, 05:51
Avatar de danny_  
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 11 años, 7 meses
Puntos: 4
recoger distintos valores con ajax

Buenas gente!!

He empezado a iniciarme con ajax y por el momento he conocido su funcionamiento básico, tengo un php en el cual vuelco datos de post con un bucle while con 5 resultados por página.
Lo que intento, pero solo consigo que me coja el valor del primer resultado de esas 5 repeticiones, es que por medio de una ventana modal, me de la opcion de borrar dicho post.

Me coge la primera id del resultado de la página, estas id las estoy cogiendo con

var one = encodeURIComponent(document.getElementById("one"). value);


en los cuales he añadido por medio del php un <input type="hidden" value="$row['id_post']"/>, estos aparecen en todos y cada uno de los 5 resultados

Sabéis alguna forma de pasar o poder ordenar variables para luego pasarlas por ajax a la consulta de php??



Gracias por vuestro interés!
  #2 (permalink)  
Antiguo 24/09/2012, 06:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: recoger distintos valores con ajax

<input type="hidden" value="$row['id_post']"/>

Para poder acceder necesitas el taributo id (unico) o name (puede no ser unico) luego con javascript leeses esos input y los pasas por get o post y ajax a la consulta php...

Fijate que usas document.getElementById("one"). value donde esta el objeto con id=one?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 24/09/2012, 06:59
Avatar de danny_  
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: recoger distintos valores con ajax

gracias por tu respuesta quimfv.

lo tengo situado en el script de ajax.
<script type="text/javascript">

var http;

window.onload=function() {
document.getElementById("submit1").onclick=sendDat a;
}

function sendData(evt) {
// cancel default form submittal
// cancel default form submittal
evt = evt || window.event;
if (evt.preventDefault)
evt.preventDefault();
else
evt.returnValue = false;

// get input data
var one = encodeURIComponent(document.getElementById("one"). value);
var params = "one=" + one;
// prep request
if (!http) {
http = new XMLHttpRequest();
}
var url = "ajaxserver.php?" + params;
http.open("GET", url, true)
// callback function
http.onreadystatechange=processResult;
// make Ajax call with params
http.send(null);
}

function processResult() {
if (http.readyState == 4 && http.status == 200) {
document.getElementById("result").innerHTML=http.r esponseText;

}
}

y estos son los datos que quiero pasar por ajax

while($row=mysqli_fetch_assoc($result)){

<p><a id="submit1" data-reveal-id="borrado">Borrado<input <p><a id="submit1" data-reveal-id="borrado">Borrado<input
type="hidden" value="'.$row['id_post'].'" id="one" /></a></p>

}
claro, son 5 resultados los que quiero pasar que se vuelcan desde el php original, pero no sé como hacer para que puede diferenciarlos a cada uno de ellos, al momento de pasarlo por ajax solo me coge el primer resultado de ese bucle.


Gracias por tu interés y un saludo!

Última edición por danny_; 24/09/2012 a las 07:04
  #4 (permalink)  
Antiguo 24/09/2012, 07:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: recoger distintos valores con ajax

Hola:

Seguro que no contemplas que el usuario visitante no tenga activo javascript...

Siempre aconsejo que las páginas sean funcionales sin la dependencia de javascript, y evidentemente tu código es totalmente dependiente (tal vez quieras replicar mi comentario, pero es gratuito)

Los id's deben ser únicos, así que como ya te han comentado o los modificas o usas otro atributo como el name... es más, el name debería ser obligatorio (al menos para controles que quieras enviar)...

data-reveal-id no es un atributo válido... mesuena que dependes de librerías... malo, malo...

Intenta encontrar algo que te sirva para discriminar los controles (distintos id's, names...), y luego será más fácil ayudarte.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 26/09/2012, 04:21
Avatar de danny_  
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: recoger distintos valores con ajax

Ahora lo comprendo, o sea que no es conveniente hacer que la página dependa del uso de javascript en torno al envío de formularios o de procesos de datos entre los ficheros de la web.

Pero, me llama la atención que para los tiempos que corren haya todavía gente que no tenga activo javascript en sus navegadores... Eso me da que pensar cuando llegue 2014 que se supone que html5 será el standard... aun tendrá que esperarse un par de años mas si la gente no se actualiza a las últimas versiones de su navegador.

Por cierto, si que estoy usando una librería,nos pareció interesante por el hecho que es un framework adaptable a los distintos tipos de dispositivos y resoluciones, a ver que os parece y no sé si realmente es aconsejable el uso de este tipo de framewoks, a mi me gusta su adaptabilidad a los disitintos tipos de pantalla sin dañar el diseño de la web cambie o no su tamaño.

Os dejo el enlace para que le echéis un vistazo http://foundation.zurb.com/

Haré mas usos de los standares básicos y limitaré javascript sin dependencia para la funcionalidad de mi página.

Un saludo y gracias por vuestros comentarios.

Etiquetas: ajax, distintos, funcion, input, php, recoger
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:55.