Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Príncipe_Azul en 01 de Diciembre 2016, 06:39

Título: Formulario que envíe a una url con sub-dominios aleatorios código JavaScript
Publicado por: Príncipe_Azul en 01 de Diciembre 2016, 06:39
Hola amigos!!

Qué tál están?, espero que bien! :)

Les comento, necesito ayuda para terminar un simple código que hice en Javascript, voy a poner el código y luego me dirán que es lo que me falta para terminarlo:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>titulo</title>
    <script type="text/javascript">
        function SubDominios() {
            var subDominios = ["subDom1", "subDom2", "subDom3", "subDom4"];
            var totalSubDominios = subDominios.length
            var subDominio = Math.floor((Math.random() * totalSubDominios) + 0);
            url = 'https://' + subDominios[SubDominio] + '.paginaweb.com/archivo.php?action=param';
            return url;
        }
    </script>
</head>
<body>
    <form action="javascript:SubDominios();" method="post">
        <input placeholder="Escribir dato" type="text" autocomplete=off name="d" value="">
        <button type="submit">Proceder</button>
    </form>
</body>
</html>

ya se imaginarán lo que pretendo hacer ;)
Voy a explicarles, simplemente lo que deseo es llamar a una función en JS:

Código: [Seleccionar]
    <form action="javascript:SubDominios();" method="post">
y que obviamente envíe el formulario a esta url que se forma en esta línea:

Código: [Seleccionar]
            url = 'https://' + subDominios[SubDominio] + '.paginaweb.com/archivo.php?action=param';
por ejemplo debería quedar así:

Código: [Seleccionar]
    <form action="https://subDom3.paginaweb.com/archivo.php?action=param" method="post">
es decir, lo que deseo es simplemente llamar a una funcion en JS para que me retorne una url, que tendrá un sub-dominio aleatorio:

Código: [Seleccionar]
            var subDominios = ["subDom1", "subDom2", "subDom3", "subDom4"];
Aquí dejo una captura de como funciona el código que hice:

(http://fotos.subefotos.com/313ac1eebc20ed4aa59c89cf0b4a2753o.png)

como verán si bien la aleatoriedad funciona y se forma corectamente la url, pero no funciona como debería/desearía, ya que yo deseo que esta llamada a la función de JS:

    <form action="javascript:SubDominios();" method="post">

se convierta en una url así se pueda enviar el formulario a un sub-dominio aleatorio, por ejemplo:

https://subDom4.paginaweb.com/archivo.php?action=param

pero no pasa eso... lo que sucede es que se muestra la url en el navegador y en la barra de direcciones se muestra la función en Javascript.

¿Cómo debería dejar el código funcionar?.


Muchas gracias de antemano!!
Título: Re:Formulario que envíe a una url con sub-dominios aleatorios
Publicado por: pedro,, en 01 de Diciembre 2016, 21:16
Hola  Príncipe_Azul.

Prueba con esto:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>titulo</title>
    <script type="text/javascript">
    window.onload = function() {
    document.forms['myForm'].addEventListener('submit', subDominioAleatorio);
    }
        function subDominioAleatorio(ev) {
        ev.preventDefault();
            var subDominios = ["https://www.aprenderaprogramar.es", "https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=57&Itemid=86", "https://www.aprenderaprogramar.com/foros/"];
            var totalSubDominios = subDominios.length
            var subDominio = Math.floor((Math.random() * totalSubDominios) + 0);
            document.forms['myForm'].action = subDominios[subDominio];
            document.forms['myForm'].submit();
        }
    </script>
</head>
<body>
    <form name="myForm" action="javascript:void(0);" method="post">
        <input placeholder="Escribir dato" type="text" autocomplete=off name="d" value="">
        <button type="submit">Proceder</button>
    </form>
</body>
</html>

Saludos. ;D
Título: Re:Formulario que envíe a una url con sub-dominios aleatorios
Publicado por: Príncipe_Azul en 02 de Diciembre 2016, 06:10
Hola querido amigo pedro,,, me ha funcionado perfectamente el código!! ;D :D
Muchísimas gracias por la ayuda y podemos dar el tema como Solucionado! (https://www.aprenderaprogramar.com/foros/Themes/default/images/post/thumbup.gif)


Un abrazo y gracias!! :) :)