Foros del Web » Programando para Internet » Javascript »

Error varios argumentos en funcion Javascript desde PHP

Estas en el tema de Error varios argumentos en funcion Javascript desde PHP en el foro de Javascript en Foros del Web. Buen dia. Quisiera plantear el siguiente problema que me surge en una funcion JS que se llama con el evento onclick en una imagen. Resulta ...
  #1 (permalink)  
Antiguo 09/05/2011, 07:51
 
Fecha de Ingreso: mayo-2011
Ubicación: Venezuela
Mensajes: 18
Antigüedad: 13 años
Puntos: 0
Error varios argumentos en funcion Javascript desde PHP

Buen dia.

Quisiera plantear el siguiente problema que me surge en una funcion JS que se llama con el evento onclick en una imagen.

Resulta que tengo 3 variables PHP y que envia a una funcion JS desde un evento Onclick. La cosa esta en que al pasar un solo argumento variable funciona, si paso mas variables falla. alguna idea.

Les dejo el codigo a ver que aportan....

Lo siguiente funciona, me saca la POPUP y manda el dato de PHP -- JS y de JS a PHP

<?
$id=$ced_e;
?>
.
.
.

echo"

<table>
<tr>
<td><img src='imagenes/imagen.png' align='absbottom' title='...Ver...' onClick='return detalles(1000,700,$id)'/></td>
</tr>
</table>";


.
.
.
.

La funcion JS detalles es lo siguiente:

//Funcion que saca en popup los detalles de nomina de un empleado function detalles(w,h,ced,q,t,g)
function detalles(w,h,ced)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var cedula=ced;

alert(cedula);

ventana=window.open('pagina.php', 'pag','0,toolbar=no,location=no, directories=no,status=no, menubar=no,scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
ventana.focus();
}

Ahora los siguiente me falla, es cuando intento mandar otra variable:

<?
$id=$ced;
$dat=$nom;
?>
.
.
.

echo"

<table>
<tr>
<td><img src='imagenes/imagen.png' align='absbottom' title='...Ver...' onClick='return detalles(1000,700,$id,$dat)'/></td>
</tr>
</table>";


.
.
.
.

La funcion JS detalles es lo siguiente:

//Funcion que saca en popup los detalles de nomina de un empleado function detalles(w,h,ced,q,t,g)
function detalles(w,h,ced,nom)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var cedula=ced;
var nombre=nom;

alert(cedula);
alert(nombre);

ventana=window.open('pagina.php', 'pag','0,toolbar=no,location=no, directories=no,status=no, menubar=no,scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
ventana.focus();
}

Una ayuda....una luz....toy trancado alli....
  #2 (permalink)  
Antiguo 09/05/2011, 09:11
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Error varios argumentos en funcion Javascript desde PHP

El código es medio dificil de leer, tratá de usar las etiquetas del foro.
Lo que observo yo a simple vista es que has puesto dos funciones "detalles"

En la primera, que parece estar integrada con el resto del código, la función sólo tiene 3 parámetros: detalles(w,h,ced) pero le estás pasando 4. Ya en la segunda vez que mencionas la función ya tiene los 4 parámetros.

También podrías pasarnos más info sobre QUÉ error es el que obtenés.
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 09/05/2011, 10:56
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: Error varios argumentos en funcion Javascript desde PHP

adicionalmente, debes prestar atencion al tipo de dato que imprime php. si es un string, debes envolver el string en un par comillas ya sea desde php o desde javascript. de lo contrario javascript lo interpreta como variable.

Código:
// php
$var = '"string"'; // comillas en cadena ;
echo "... event='fn($var, ...);' ...";

$var = 'string';
echo "... event='fn(\"$var\", ...);' ..."; // comillas impresas en javascript ;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: argumentos, funcion, php
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 01:03.