Error 'xxx' indefinido

Scorpio -  
kij_82 Mensajes publicados 4102 Fecha de registro   Estado Colaborador Última intervención   -
Bonjour,

tengo una pequeña función que me permite agregar una nueva sección de formulario si se modifica una.
por lo tanto, he recuperado un script de internet (que confieso no domino...) que se supone debe incluir el código del formulario, como lo hace la función include en php.

Sin embargo, me devuelve sistemáticamente el error 'intervención indefinida'...

Aquí está mi script

<script type="text/javascript"> function include(fileName) { if (document.getElementsByTagName) { Script = document.createElement("script"); Script.type = "text/javascript"; Script.src = fileName; Body = document.getElementsByTagName("BODY"); if (Body) { Body[0].appendChild(Script); } } } </script>


así como la línea que permite ejecutarlo

<input type="text" size="40" name="youhou" onchange="include(intervention.php)">

Así que... soy un principiante en javascript, así que el error puede estar en cualquier parte ^^

Gracias a quienes intenten ayudarme.

7 respuestas

Scorpio
 
Lo siento, no puedo ayudar con eso.
1
mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   7 940
 
El error está aquí:
<input type="text" size="40" name="youhou" onchange="include(intervention.php)"> 

Es bastante fundamental además. Hay que hacer bien la distinción entre:

- el código HTML, CSS y javascript: comprensible por el navegador. El código javascript es completamente independiente del servidor apache, simplemente es interpretado por el navegador. En particular, puedes hacer funcionar una página web que solo tenga HTML/CSS/javascript sin servidor web.

- el código PHP: es interpretado por el servidor web (servidor apache). El código PHP solo puede ser entendido por él. El servidor apache convierte el código PHP en código HTML comprensible para el navegador. En particular, cuando haces una consulta a una base de datos, el servidor apache debe devolver el resultado de la consulta en forma de código HTML comprensible por el navegador.

Así que aquí estás desencadenando en un evento javascript la inclusión de un archivo PHP. Sin embargo, la inclusión del archivo PHP solo tiene sentido en el servidor apache, así que en una sección de código PHP.

Supongo que te gustaría modificar una parte del código HTML de la página en este evento javascript. Esto es completamente factible, pero en javascript puro. Para ello, puedes usar las etiquetas div:
<DIV id="plop"> <!-- La zona en la que voy a escribir con mi javascript--> </DIV>

Luego, puedes recuperar en javascript esta zona con la función getElementById(). Así recuperas el objeto div en una variable javascript. Solo queda modificar su contenido como una cadena de caracteres normal, modificando el campo innerHTML. En particular, puedes poner código HTML en este campo.

Un ejemplo aquí:
desarrollador.journaldunet.com

Buena suerte.
0
mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   7 940
 
¡La respuesta está en el enlace!
0
Scorpio
 
Lo que quería decir es que aquí estamos mostrando un texto "codificado en duro".

Yo quiero mostrar toda una porción de código... ¿Tengo que volver a escribirlo tal cual? Disculpa si estoy un poco perdido...

Para explicarte mi problema, en realidad cuando llegas a la página, tienes una lista de nombres mostrada en campos (nombre, apellido, fecha, etc...). Dependiendo del caso, puede haber 1 nombre, varios o ninguno.

Así que esto se hace gracias a una consulta SQL y un include PHP.

Además de eso, me gustaría que se mostrara una lista vacía (la misma pero sin rellenar). Si quieres agregar un nuevo nombre, lo haces, y ahí hay otro campo vacío que se muestra para volver a ingresar un nombre, etc. Es ahí donde entra JavaScript.

Así que ya tengo el código escrito en un archivo PHP (tengo que modificar el nombre de los campos cada vez... nombre-del-campo.&i, e incrementamos i). Y quiero recuperarlo para no tener que volver a escribirlo.

Ahí, por supuesto, me muestra el nombre del archivo...

Gracias de nuevo y lo siento ^^
0
mamiemando Mensajes publicados 33228 Fecha de registro   Estado Moderador Última intervención   7 940
 
Tu función JavaScript puede recuperar los valores ingresados en el formulario, o pasarlos como parámetros a tu función JavaScript (el código PHP siendo "llamado antes" del código JavaScript, y estos parámetros serán pasados de forma fija en el momento en que el servidor Apache envíe la página con solo HTML/CSS/JS).

¡Y no tienes que disculparte!
0
Scorpio
 
ok gracias, intentaré así...

Por ahora he dejado de lado el problema y me he centrado en una función php (con un botón "agregar un nombre").
Pero es menos bueno, así que creo que volveré a js.

Gracias de nuevo
0
kij_82 Mensajes publicados 4102 Fecha de registro   Estado Colaborador Última intervención   857
 
Puedes también hacer AJAX utilizando los objetos XMLHttpRequest de JavaScript si lo conoces.

--
~ iclic @ izquierda, iclic, iclic @ derecha, iclic, iclic
y no hay problema, señor! ~
0