Foros del Web » Programando para Internet » Javascript »

Se puede hacer "include" con javascript ??

Estas en el tema de Se puede hacer "include" con javascript ?? en el foro de Javascript en Foros del Web. Hola señores Tengo una funcion un poco extensa en JS con codigo HTML embebido de dos formularios distintos que se insertan segun el caso. Vendria ...
  #1 (permalink)  
Antiguo 04/01/2010, 08:17
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Se puede hacer "include" con javascript ??

Hola señores

Tengo una funcion un poco extensa en JS con codigo HTML embebido de dos formularios distintos que se insertan segun el caso. Vendria mejor al peso del JS si la funcion cargara solo el fomulario que necesite, haciendo include del formulario en cuestion desde un archivo externo como se haria en PHP.

Es esto posible de alguna forma con JS o me olvido de ello ??
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 04/01/2010 a las 08:23
  #2 (permalink)  
Antiguo 04/01/2010, 08:52
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: Se puede hacer "include" con javascript ??

como tal no existe alguna funcion similar al include de php. sin embargo, se puede hacer algo parecido. hay varias posibilidades. una de ellas; puedes tener el formulario guardado en archivos distintos para cada caso en formato plano. luego con XHR (aka AJAX) cargas el que necesites y lo agregas al documento con innerHTML.

una vieja tecnica, del cual personalmente no me gusta. es parecida a la anterior, pero en lugar de ser un archivo de texto plano seria un archivo javascript repleto de document.write para escribir el codigo HTML cuando cargue el documento. la forma de cargar estos archivos seria con un script que agrega otro script. por ejemplo,
Código:
<script>
document.write("<script src='archivo.js'><" + "/script>");
</script>
pero esta tecnica tiene un problema que ahora mismo no recuerdo como se resolvia. fijate que son dos string que se concatenan en lugar de ser un solo string. si no se separa, el navegador ignora el nuevo script que se intenta cargar con document.write.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 04/01/2010 a las 09:01
  #3 (permalink)  
Antiguo 04/01/2010, 21:02
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Respuesta: Se puede hacer "include" con javascript ??

Hola @zerokilled, gracias por darme la pista de usar AJAX. A partir de ahi me puse a investigar un poco y encontre este script que tome de esta pagina:

Código PHP:
function clientSideInclude (idurl)
{
    var 
element document.getElementById(id);
    var 
req false;
    
//
    
if (window.XMLHttpRequest)
    {
        try { 
req = new XMLHttpRequest(); } catch (e) { req false; }
        
//
    
} else if (window.ActiveXObject)
    {
        try { 
req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
            try { 
req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { req false; }
        }
    }
    
//
    
if (!element)
    {
        
alert ("Bad id " id "passed to clientSideInclude. You need a div or span element with this id in your page.");
        return;
    }
    if (
req)
    {
        
// Synchronous request, wait till we have it all
        
req.open('GET'urlfalse);
        
req.send(null);
        
element.innerHTML req.responseText;
    } 

Me funciono sin ningun problema, asi que lo dejo por si alguien mas pueda necesitarlo.
__________________
JuniHH
- Mi blog
- Mi portafolio

Etiquetas: Ninguno
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 05:48.