Foros del Web » Programando para Internet » Javascript » Frameworks JS »

error paso de valores

Estas en el tema de error paso de valores en el foro de Frameworks JS en Foros del Web. Hola a tod@s. Tengo un problemilla, a parte de que controlo bastante poco de AJAX. Consegui un codigo para segun un valor, me visualizara unos ...
  #1 (permalink)  
Antiguo 06/03/2007, 11:22
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
error paso de valores

Hola a tod@s.

Tengo un problemilla, a parte de que controlo bastante poco de AJAX.
Consegui un codigo para segun un valor, me visualizara unos datos u otros en la misma ventana.
El problema me viene cuando ese valor, sacado de un combobox, consta de mas de 1 palabra(ej: peluqueria ana). Solo me devuelve la primera palabra.
el codigo que tengo es:
ajax_oferta_inf.js

function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function pedirDatos(){
//donde se mostrará el resultado
divResultado = document.getElementById('resultado');
//tomamos el valor de la lista desplegable
nom=document.form.oferta.value;

//instanciamos el objetoAjax
ajax=objetoAjax();
//usamos el medoto POST
//archivo que realizará la operacion

ajax.open("POST", "datosofertainf.asp",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("nombres="+nom)
}

en la vble nombres solo me devuelve peluqueria en vez de devolver peluqueria ana.
Que hago mal?

Gracias.
  #2 (permalink)  
Antiguo 06/03/2007, 13:58
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: error paso de valores

loading...........

y si pones
Código PHP:
ajax.send("nombres="+encodeURIComponent(nom)); 
eso codificará tu parámetro porque al otro lado recibes "peluqueria ana" y desde el & lo toma como otra variable, probalo y suerte ;)


connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 06/03/2007, 16:12
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: error paso de valores

No funciona

me sigue cogiendo solo la primera palabra...

Gracias.
  #4 (permalink)  
Antiguo 06/03/2007, 16:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: error paso de valores

y que tal si colocas el HTML
  #5 (permalink)  
Antiguo 06/03/2007, 16:47
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: error paso de valores

la pagina q carga los valores al combobox(carga bien los datos):
<script language="JavaScript" type="text/javascript" src="ajax_oferta_inf.js">
</script>
....
....
<select name="oferta" id="oferta">
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;Port=3306;Database=xxx;Ui d=root;Pwd=xxx;"
email=session("email")
sql="select * from ofertas where email_empresa='"&email&"'"
set rs=con.execute(sql)
response.Write("<option value=''>(Selecciona una oferta)</option>")
do while not rs.eof
response.Write("<option value="&rs("puesto_vacante")&">"&rs("puesto_vacant e")&"</option>")
rs.movenext
loop

%>
</select>

<input type="button" name="Submit" value="ACEPTAR" onClick="pedirDatos()">

la funcion pedirDatos() esta dentro del .js que he puesto al principio.

Y luego lo unico que hago es recuperar ese valor en otra ventana:
<%
oferta=request.form("nombres")
response.Write oferta
%>

Si no esta claro me comentais.

Gracias
  #6 (permalink)  
Antiguo 06/03/2007, 21:13
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Re: error paso de valores

loading............

pasa que los values de tus OPTION
estan asi

<option value=blabla >algo</option>
y si tienes una cadena con espacio se pone
<option value=blabla y bla>algo</option>


asi que concatena bien

response.Write("<option value=\""&rs("puesto_vacante")&"\">"&rs("puesto_vacant e")&"</option>")

connection closed.
__________________

Maborak Technologies
  #7 (permalink)  
Antiguo 07/03/2007, 04:47
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: error paso de valores

Es verdad, me coge mal los valores de varias palabras la select.

Pero esa forma de concatenar esta bien? xq a mi me da error...
  #8 (permalink)  
Antiguo 07/03/2007, 05:11
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: error paso de valores

ya lo tengo:
response.Write("<option value=""" & rs("puesto_vacante") & """>" & rs("puesto_vacante") & "</option>")

Muchas gracias.
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 09:52.