Foros del Web » Programando para Internet » PHP »

Combinar PHP y Javascript

Estas en el tema de Combinar PHP y Javascript en el foro de PHP en Foros del Web. Hola amigos, quisiera saber si alguien me puede decir porque este codigo no funciona: <? codigo php.... $nreg=$valor if ($nreg==1) { echo "<script language='Javascript'>"; echo ...
  #1 (permalink)  
Antiguo 02/03/2005, 06:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 12 años, 10 meses
Puntos: 0
Combinar PHP y Javascript

Hola amigos, quisiera saber si alguien me puede decir porque este codigo no funciona:
<? codigo php....
$nreg=$valor
if ($nreg==1)
{
echo "<script language='Javascript'>";
echo "document.form.text.value='<? $nreg?>'";
echo "</script>";
}else{....
?>
Sale un error que dice que el objeto "document.form.text." no existe.
No se porque esta mal.
Ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 02/03/2005, 07:00
Avatar de BKS
BKS
 
Fecha de Ingreso: enero-2003
Ubicación: Santa cruz de Tenerife
Mensajes: 176
Antigüedad: 14 años, 11 meses
Puntos: 7
Tenía el mismo problema y he aqui la solución

<script... bla,bla,bla>
function algo() {
algo.de.java.script.valor=<?=$variable ?>;
}

// te imprime
// function algo() {
// algo.de.java.script.valor=valor;
// }
</script>
__________________
El clavo que sobresale, recibe un martillazo
  #3 (permalink)  
Antiguo 02/03/2005, 07:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
te falta el ; después de $valor....
Vuelves a abrir etiquetas php para imprimir el valor de $nreg cuando sigues dentro de php....
.... prueba eso. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 02/03/2005, 07:06
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por BKS
<script... bla,bla,bla>
function algo() {
algo.de.java.script.valor=<?=$variable ?>;
}
eso se me hace conocido... ...
Bueno, solo aclarar algo que ya dije... en este caso estás fuera de PHP y manejando solo HTML por lo que abres de nuevo etiquetas PHP... <?=$variable ?> ... pero en el caso anterior seguia dentro de PHP e imprimia por un echo, por lo cuál lo correcto es
echo "algo.de.java.script.valor='".$variable."';";

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 02/03/2005, 23:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 12 años, 10 meses
Puntos: 0
La verdad es que no entiendo muy bien sus respuestas, porque en realidad si se dan cuenta todo el codigo esta dentro de php, yo en ningun momento cerre los corchetes <? ?> y el codigo javascript esta incrustado en el codigo php.
Es eso lo que no se si esta bien, porque cuando uso otra sentencia como
"location.href='loquesea.php'" en vez de referirme a un documento, si corre normal y sin problemas.
Ojala puedan ayudarme
  #6 (permalink)  
Antiguo 02/03/2005, 23:46
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 13 años, 8 meses
Puntos: 406
intentalo de esta manera

Código PHP:
<? codigo php....
$nreg=$valor
if ($nreg==1
{
echo 
"<script language='Javascript'>";
echo 
"document.form.text.value='".$nreg."'";
echo 
"</script>";
}else{....
?>
porque si lo imprimes como tu lo haces estas imprimiendo <? $nreg; ?>, estas imprimiendo los <? y ?> y por eso no te lo toma
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 02/03/2005, 23:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 13 años, 8 meses
Puntos: 406
Cita:
Iniciado por jam1138
echo "algo.de.java.script.valor='".$variable."';";
ahh y por cierto, tu codigo esta mal, pues si no ha salido de php no puedes poner dos ; en un solo echo, si tu pones echo "algo.de.java.script.valor='".$variable."';"; te va a mandar error, porque ya indicaste que se cerro con el primer ; y el segundo ya no tendria por que estar hay
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 02/03/2005, 23:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 8
Antigüedad: 12 años, 10 meses
Puntos: 0
ok amigos... Gracias por todo.
Ya pude hacerlo.
  #9 (permalink)  
Antiguo 03/03/2005, 18:12
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por amaberflo
(...) si se dan cuenta todo el codigo esta dentro de php, yo en ningun momento cerre los corchetes <? ?> y el codigo javascript esta incrustado en el codigo php. (...)
(...)
echo "document.form.text.value='<? $nreg?>'";
(...)
Presisamente por eso... estás dentro de PHP y vuelves a abrir etiquetas PHP... además sin cerrar el echo...

Cita:
Iniciado por Nemutagk
ahh y por cierto, tu codigo esta mal, pues si no ha salido de php no puedes poner dos ; en un solo echo (...)
Sí, se puede.. porque el primero se manda a imprimir... pa' no quedarme con la duda lo probé y lo imprimió sin problema
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 12:49.