Foro Oficial De Javascript

Gracias por la prontitud, lo que realmente necesito es que al hacer un cambio en un option menu que contien las empresa de transporte me actualice el otro con las rutas permitidas para esta empresa, por eso uso esta clase.
 
Gracias por la prontitud, lo que realmente necesito es que al hacer un cambio en un option menu que contien las empresa de transporte me actualice el otro con las rutas permitidas para esta empresa, por eso uso esta clase.


Ya pude resolver el problema, lo que hice fue lo siguiente:

de esta manera hice el llenado de la primera list, que contiene las emnpresas.
PHP:
                <td>Empresa: </td>
                <td>
                    <select name="emps" id="emp" onchange="addruta(this.value)">
                        <option Label="start" Value="00">Seleccione una Empresa!</option>
                        <?php
                            $conn = $usuario->conectar();
                            $qry = "select * from empresas";
                            $rs = mysql_query($qry, $conn);
                            while($row = mysql_fetch_array($rs)){
                                $codemp = $row['emp_id'];
                                $emp = $row['emp_nombre'];
                                echo"<option Label='$emp' Value='$codemp'>$emp</option>\n";
                            }
                            mysql_free_result($rs);
                            $usuario->desconectar($conn);
                        ?>
                    </select>
                </td>

para la actualizacion de las rutas de cada empresa hice la siguiente combinacion de javascript y php:

PHP:
<script type="text/javascript">
    function addruta(emp){
        var selemp = document.getElementById("rutas");
        var ubic = document.getElementsByName("ubicacion");
        ubic.valueOf("agregar");
        selemp.length=0;
        selemp.add(new Option("Seleccione una Ruta!","00"),null);
        switch (emp){
            case "1":
                <?php 
                    $conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 1 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "2":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 2 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "3":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 3 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "4":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 4 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "5":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 5 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "9":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 9 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";                    }
                ?>
                break;
            case "13":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 13 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "15":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 15 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "16":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 16 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "18":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 18 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
            case "24":
                <?php
                    $usuario->$conn = $usuario->conectar();
                    $qry = "select ruta_id, ruta_nombre from nomrutxemp where emp_id = 24 order by ruta_nombre";
                    $rs = mysql_query($qry, $conn);
                    while($row = mysql_fetch_array($rs)){
                        $codrut = $row['ruta_id'];
                        $ruta = $row['ruta_nombre'];
                        echo"selemp.add(new Option('$ruta','$codrut'),null);\n";
                    }
                ?>
                break;
        }
    }
</script>

quise hacer la parte php en una funcion o como parte de un objeto pero lastimosamente no corria, muy seguramente hay una mejor manera de hacerlo, pero asi como esta funciona, epero que le sirva a alguien mas.
 
Hola Laneros... hoy estaba haciendo una pagina y no funciona como yo creo que debería, sale un error todo raro que no logro encontrarle explicación... alguno de ustedes sabe que es lo que pasa?

tengo esto:
Código:
<body>
<div id="para_ocultar">
	<a href="javascript:document.getElementById('para_ocultar').style.display='none';">Ocultar esto</a>
</div>
</body>

Esto solo funciona en Chrome... en Internet Explorer 9 y en Firefox 3.6, me cambia la barra de direccion a: document.getElementById('para_ocultar').style.display='none'; y me imprime "none" en la pagina... :S

Alguién sabe que sucede? estoy escribiendo algo mal? porque si funciona en Chrome y en los demás no?
 
Hola Laneros... hoy estaba haciendo una pagina y no funciona como yo creo que debería, sale un error todo raro que no logro encontrarle explicación... alguno de ustedes sabe que es lo que pasa?

tengo esto:
Código:
<body>
<div id="para_ocultar">
	<a href="javascript:document.getElementById('para_ocultar').style.display='none';">Ocultar esto</a>
</div>
</body>

Esto solo funciona en Chrome... en Internet Explorer 9 y en Firefox 3.6, me cambia la barra de direccion a: document.getElementById('para_ocultar').style.display='none'; y me imprime "none" en la pagina... :S

Alguién sabe que sucede? estoy escribiendo algo mal? porque si funciona en Chrome y en los demás no?

Compadre, es que vi que editó el post, pero yo le recomendaria que mas bien, si quiere cambiar el link, edite el DIV con la propiedad INNERHtml
 
Sorry por el doble post :(
bueno... lo que quiero es saber si hice algo mal o porque no funciona... sé otra solución con la cual si funciona... pero no veo porque el código como está no funciona, pues creo que cumple con todas las reglas de javascript HTML y W3 o lo que sea... no veo porque no funciona... y en 2 navegadores...

Quiero saber si alguién sabe donde está el error... solo para aprender y no volver a quedarme horas buscando porque algo no me funciona. ;)
 
Sorry por el doble post :(
bueno... lo que quiero es saber si hice algo mal o porque no funciona... sé otra solución con la cual si funciona... pero no veo porque el código como está no funciona, pues creo que cumple con todas las reglas de javascript HTML y W3 o lo que sea... no veo porque no funciona... y en 2 navegadores...

Quiero saber si alguién sabe donde está el error... solo para aprender y no volver a quedarme horas buscando porque algo no me funciona. ;)

y si usas "style.visibility='hidden'???

o asi: document.getElementById( 'tr1' ).setAttribute( 'style', 'display:none' );
 
y si usas "style.visibility='hidden'???

o asi: document.getElementById( 'tr1' ).setAttribute( 'style', 'display:none' );

No si... como te dije, ya lo hice funcionar...

lo cambié a href="javascript:mifuncion()"

y cree:
function mifuncion(){ document.getElementById('para_ocultar').style.display='none'; }

Que en teoria es la misma mondá... y asi si funciona...

Pero lo que quiero es saber porque el código inicial no funciona... le hecho cabeza y no me explico porque no funciona... XD... o sea el error ya lo solucioné hace rato... pero quedé con la "espinita" ahí
 
No si... como te dije, ya lo hice funcionar...

lo cambié a href="javascript:mifuncion()"

y cree:
function mifuncion(){ document.getElementById('para_ocultar').style.display='none'; }

Que en teoria es la misma mondá... y asi si funciona...

Pero lo que quiero es saber porque el código inicial no funciona... le hecho cabeza y no me explico porque no funciona... XD... o sea el error ya lo solucioné hace rato... pero quedé con la "espinita" ahí

Por ahi leí que Firefox tiene un bug con respecto a ese tema, todos podemos tener un bug XD

Si buscas en google en Ingles, tambien encontrarias respuestas, vi 2 foros hablando de lo mismo y todos dicen que es un bug.
 
lo curioso es que pasa exactamente lo mismo en IE9
precisamenta para evitar esas cosas utilizas librerias solidas como por ejemplo jQuery. Donde haces los mismo que con JavaScript pero aveces y casi siempre, con menos código pero lo más importante es que sostienen la compatibilidad entre navegadores :)
 
Problema al eviar datos de un formulario usando Jquery

Hola amigos estoy utilizando jquery para enviar datos de un formulario y utilizarlos en un archivo php para luego guardarlos en una base datos Mysql, pero tengo un problema : el error aparece cuando utilizo un <input type="file" id="flfoto"/> en ves de un <input type="text" id="txtfoto"/>, cuado utilizo un Text para insertar la ruta de la imagen no da ningun error, acaso es incompatibilidad con el tipo file????

formulario.jpg





error.jpg




archivophp.jpg


Código:
[B][B]$('#btnenviar').click(function(event) {  

               event.preventDefault();  
               var url = $("#form1").attr('action');  
               var datos = $("#form1").serialize();  
               $.post(url, datos, function(resultado) { 
               alert(resultado);  

               });  
               });
 

[/B][/B]


Gracias por la ayuda que me puedan dar.....
 
pregunta para darte una mejor ayuda, ¿estás intentado enviar un archivo? ¿lo quieres hacer via AJAX o normalito?
el problema no es de javascript es PHP

esta intentando "recoger" los datos del archivo enviado mediante un input tipo "file" con la variable $_POST y estos se manajen es con la variable $_FILES

de ahi que diga que el indice "flfoto" no existe en el array $_POST

mas sobre archivos en PHP
http://www.php.net/manual/en/features.file-upload.post-method.php
 
el problema no es de javascript es PHP

esta intentando "recoger" los datos del archivo enviado mediante un input tipo "file" con la variable $_POST y estos se manajen es con la variable $_FILES

de ahi que diga que el indice "flfoto" no existe en el array $_POST

mas sobre archivos en PHP
http://www.php.net/manual/en/features.file-upload.post-method.php

Exacto, para allá iba, y también tener en cuenta que en el form debe de estár enctype="multipart/form-data" para poder subir archivos

;)
 
Hola... estoy usando javascript para cargar contenido via AJAX normalito en un div...

Lo que me sucede es que el contenido que cargo externamente tiene scripts adentro (o sea ya viene con su funcionalidad), pero al cargarlo con ajax no me funciona...

Es decir, en la pagina A tengo algo como:
<div id="contenido_ajax">
</div>

Cuando obtengo el contenido en esta pagina lo unico que hago es hacer
document.getElementById("contenido_ajax").innerHtml = ajax.responseText;

Esto me funciona bien y me carga el contenido que necesito.

El problema está en que el contenido que cargo de la pagina B es algo parecido a esto:

<h1>Prueba de Script</h1>
<a href="javascript:prueba();">Haz Click Aqui</a>
<script language="javascript">
function Prueba()
{
alert("hicieron click!");
}
</script>


Si ejecuto la pagina B por si sola en el navegador, al hacer click me sale el mensaje, pero si cargo esa pagina a través de ajax en otra, me sale en la consola que la funcion Prueba() no existe...

Alguna solución?

Gracias :)

Nota: Perdonan si el código no funciona tal cual... lo escribo solo como ejemplo para que me entiendan.
 
Nota: Perdonan si el código no funciona tal cual... lo escribo solo como ejemplo para que me entiendan.

Hola que tal, bueno te cuento, según mi experiencia eso jamás te va a funcionar
Pero todo tiene solución según mi experiencia.

1. Cargas el HTML normalmente
2. Las funciones que que llames desde dicho HTML cargado vía AJAX ya deberían estar cargadas previamente en el HTML general ¿me comprendes?

La respuesta anterior nos llevas a que si estás haciendo algo modular por ejemplo, entonces nos tocaría cargar absolutamente todas las funcionalidades del sistema desde un principio y eso en realidad no está bien, pero si es algo pequeño puede utilizarse dicha solución.

Ahora bien si lo que tienes es cientos y cientos de funciones que necesitas cargar bajo demanda (osease a medida que se van necesitando), entonces lo que necesitas es una solución como la siguiente:

1. Cargar HTML vía AJAX y que este traiga un evento que cuando hagan click (por ejemplo) lance una función que ha sido previamente cargada en el HTML principal
2. Esta función recibe como parámetro el nombre del archivo que necesitas cargar, el cual contiene tu funcionalidad
3. Este es cargado via ajax y te recomiendo utilizar jQuery para esta gestión ya que con dicha libreria tu puedes decir que esperas, si esperas un HTML o n SCRIPT o XML o JSON

Y listo el pollo ;)

Ejemplo didáctico

Código:
<html>
  <head></head>
  <script>
  function CargarScript(archivo) {
    //pedido ajax indicando que es un script el que recibes
    $.ajax({
      url: '/archivos/javascript/' + archivo,
      dataType: 'script'
    });
  }
  </script>
  <body>
  <div <!-- en este div hemos cargado un html como el siguiente -->>
    <a href="javascrip:CargarScript('prueba.js');">Haz Click Aqui</a>
  </div>
  </body>
</html>

Y en el servidor el archivo prueba.js puede tener esto por ejemplo

Código:
alert("hicieron click!");

Y listo el pollo ;)
¿me hice entender? :p

PD: aquí está todo lo que necesitas saber de ajax con jQuery
http://www.cristalab.com/tutoriales/ajax-en-jquery-c226l/
 
Lo que me temía... intente por todos lados y no me funciono, me confirmaste que no se puede hacer directamente...

Muchas gracias por la respuesta. y si te hiciste entender bien :)

Pues los scripts que se cargan no son muchos... asi que creo que me voy por la opcion de incluir los scripts de lo que cargo en la pagina general.

Muchas gracias ;)
 
Lo que me temía... intente por todos lados y no me funciono, me confirmaste que no se puede hacer directamente...

Muchas gracias por la respuesta. y si te hiciste entender bien
smiley%20-%20happy.gif


Pues los scripts que se cargan no son muchos... asi que creo que me voy por la opcion de incluir los scripts de lo que cargo en la pagina general.

Muchas gracias
smiley%20-%20wink.gif

incluir codigo javascript via ajax, no funciona asi como te comento @jalf puede ser la solucion, lo mismo cuando incluyes texto con tildes, caracteres especiales no salen sino un cuadrito.
 

Los últimos temas