Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2012, 14:59
onezzz
 
Fecha de Ingreso: agosto-2012
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 0
problema al enviar valores que contengan & desde un form, se cortan

Pues tengo un formulario sencillo, con el que envio dos campos: URL y TAG

cuando la url es del tipo http://url.com/?valor=1&otrovalor=2&masvalores=3

se corta con el primer &, quedando en http://url.com/?valor=1

Los codigos javascript que uso para que funcione el "ajax" son estos:

Código HTML:
<script type="text/javascript">
function Ajax(){

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;
 
}
</script> 
Código HTML:
 <script type="text/javascript">
  
   function comprobar (valores) {

   divResultado = document.getElementById('contenido');

   ajax=Ajax();

   ajax.open ('POST', 'prueba.php', true);
   
   ajax.onreadystatechange = function() {
		
   if (ajax.readyState==1) { divResultado.innerHTML="cargando.."; }
        
   if (ajax.readyState==4) { divResultado.innerHTML=ajax.responseText; }
    
   }
   
   ajax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   
   ajax.send(valores);
   
   }

</script> 
y el codigo html, donde esta el form este

Código HTML:
<div id="contenido">

<?

 error_reporting (0);
 
 $url=$_POST["url"];
 
 $tag=$_POST["tag"];
 
 if(!empty($url)) {
 
 echo"$url -> $tag";
 
 } else {

?>

<form method="post" onSubmit="comprobar('url='+document.getElementById('url').value+'&tag='+document.getElementById('tag').value);return false">

<input name="url" type="text" id="url" />

<input name="tag" type="text" id="tag" />

<input type="submit" value="Enviar" />
 
</form>

<? } ?>

</div> 

sin enviar los datos con ajax la url se muestra correctamente, por eso supongo que este es el foro correcto donde plantear mi pregunta.. yo le he estado dando vueltas pero no soy capaz de solucionarlo, mis conocimientos en javascript son nulos