Foros del Web » Programando para Internet » Javascript »

problema simple de javascript

Estas en el tema de problema simple de javascript en el foro de Javascript en Foros del Web. Hola, tengo un problema que me parece muy simple pero sin embargo no me funciona correctamente, tengo esta funcion: Código HTML: function perfil(idc){ $.ajax({ url: ...
  #1 (permalink)  
Antiguo 24/09/2012, 14:00
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
problema simple de javascript

Hola, tengo un problema que me parece muy simple pero sin embargo no me funciona correctamente, tengo esta funcion:

Código HTML:
function perfil(idc){
		
	$.ajax({
         url: 'visto.php',
          data:'idc='+ idc,
         type: 'post',
         error: function(obj, idc, obj2){
            alert(idc);
         },
         success: function(data){
		location.href='perfil.php?id=idc';
         }
      })	
	}

<tr class="noti<?php echo $notis["visto"]?>" onclick="perfil(<?php echo $quien["id"]?>);">
				<td><img class="mostradanoti" src="<?php echo $img["rutachat"]?>"></img></td>
				
				<td><p class="exp">Tienes una solicitud de amistad de <?php echo $quien["nombre"]?>.</p></td>
				</tr> 
La cuestión es que necesito que al hacer clic, se envie un formulario rápido a 'visto.php' y a la vez me redirija a la página que le indico, pero en vez de redirigirme a, por ejemplo : perfil.php?id=5, me redirige a perfil.php?id=idc

No entiendo por qué, a ver si podéis ayudarme, gracias!!
  #2 (permalink)  
Antiguo 24/09/2012, 14:04
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: problema simple de javascript

revisa el entrecomillado
Cita:
'perfil.php?id=idc';
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 24/09/2012, 14:07
Avatar de Alexis_Mejias  
Fecha de Ingreso: enero-2005
Ubicación: Santiago
Mensajes: 77
Antigüedad: 19 años, 4 meses
Puntos: 17
Respuesta: problema simple de javascript

Esto
Código:
//En: 
location.href='perfil.php?id=idc';
//Dejalos Así
location.href='perfil.php?id=' + idc;
Ademas en el Código en HTML

esto:
Código HTML:
onclick="perfil(<?php echo $quien["id"]?>);"
Dejalo así:
Código HTML:
onclick='perfil(<?php echo $quien["id"]?>);'

Saludos!
__________________
Alexis Mejias C.
Freelancer Chile - Si te sirvió puntúa positivo
Blog Personal

Última edición por Alexis_Mejias; 24/09/2012 a las 14:09 Razón: :P
  #4 (permalink)  
Antiguo 24/09/2012, 14:26
Avatar de ananda  
Fecha de Ingreso: enero-2012
Mensajes: 345
Antigüedad: 12 años, 4 meses
Puntos: 14
Respuesta: problema simple de javascript

Cita:
Iniciado por Alexis_Mejias Ver Mensaje
Esto
Código:
//En: 
location.href='perfil.php?id=idc';
//Dejalos Así
location.href='perfil.php?id=' + idc;
Ademas en el Código en HTML

esto:
Código HTML:
onclick="perfil(<?php echo $quien["id"]?>);"
Dejalo así:
Código HTML:
onclick='perfil(<?php echo $quien["id"]?>);'

Saludos!
Hola! Muchas gracias a ambos por la ayuda, con el código que me ha proporcionado Alexis_Mejias, me ha funcionado lo del location.header, sin embargo, el formulario a visto.php no se envía correctamente por lo que veo, he hecho una prueba y se ve que el script 'visto.php' no recibe la variable idc, os dejo el código tal y como lo tengo ahora, yo no veo el error :S

Código HTML:
	function perfil(idc){
		
$.ajax({
         url: 'visto.php',
          data:'idc='+ idc,
         type: 'post',
         error: function(obj, idc, obj2){
            alert(idc);
         },
         success: function(data){
		location.href='perfil.php?id=' + idc;
         }
      })
	}
Este es el visto.php
Código PHP:
<?php
session_start
();
include(
'config.php'); 
require_once(
"./include/class.inputfilter.php");
$ifilter = new InputFilter();
$conexion=conectar();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Notificaciones recibidas</title>
</head>
<body>
    
    <?php
    $id
=$ifilter->process($_POST["idc"]);
    
    
mysql_query ("SET NAMES 'utf8'");
    
$updatemysql_query("UPDATE notificaciones SET visto= 'si', fecha = fecha WHERE id= '$id' ");
    
    
?>
    
</body>
</html>
¿Qué os parece? Me sale que la variable $id está undefined, es decir que no recibe bien la variable del formulario del js, muchas gracias por adelantado a los que me ayudéis

EDICIÓN: En inspeccionar elemento, de chrome, dentro de Conexión, no veo que se envíe nada a 'visto.php' es decir, no envía el formulario :S

Última edición por ananda; 24/09/2012 a las 14:47

Etiquetas: ajax, formulario, funcion, php, simple
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 21:33.