Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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:
<!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:
<form action="javascript:SubDominios();" method="post">
y que obviamente envíe el formulario a esta url que se forma en esta línea:
url = 'https://' + subDominios[SubDominio] + '.paginaweb.com/archivo.php?action=param';
por ejemplo debería quedar así:
<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:
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!!
-
Hola Príncipe_Azul.
Prueba con esto:
<!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
-
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!! :) :)