Acceso a formularios
hola!
vean tengo una duda, que no se si se podra resolver...pero yo la comento por si alguien tiene una idea.
yo quiero acceder a una pagina, (que ya conozco) y rellener el formulario automáticamente, con un script o creando una nueva que redireccione a esa......lo que quiero es rellenar el formulario, de login y pass, y darle a "entrar", para que se haga automaticamente.
la unica idea que tengo es que al entrar en la pagina, se "simulen" pulsaciones de teclado como si el usuario estuviese escribiendo el login y el pass.
muchas gracias, a ver si a alguien se le ocurre algo
peace&love
vean tengo una duda, que no se si se podra resolver...pero yo la comento por si alguien tiene una idea.
yo quiero acceder a una pagina, (que ya conozco) y rellener el formulario automáticamente, con un script o creando una nueva que redireccione a esa......lo que quiero es rellenar el formulario, de login y pass, y darle a "entrar", para que se haga automaticamente.
la unica idea que tengo es que al entrar en la pagina, se "simulen" pulsaciones de teclado como si el usuario estuviese escribiendo el login y el pass.
muchas gracias, a ver si a alguien se le ocurre algo
peace&love
lo has probado realmente???
mira, prueba esto, ami me dice "acceso denegado":
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("http://www.google.es","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
if (miW.document.f.q){
miW.document.f.q.value="hola"
miW.document.f.submit()
clearInterval(timer)
}
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
deberia buscar "hola" en el google no?
gracias otra vez
mira, prueba esto, ami me dice "acceso denegado":
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("http://www.google.es","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
if (miW.document.f.q){
miW.document.f.q.value="hola"
miW.document.f.submit()
clearInterval(timer)
}
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
deberia buscar "hola" en el google no?
gracias otra vez
Efectivamente, no funciona, yo lo habÃa probado en local y ahà si va, pero no en la red.
No se cual es el problema, pero si me entero de algo te lo haré saber.
Suerte
rsalvadores
No se cual es el problema, pero si me entero de algo te lo haré saber.
Suerte
rsalvadores
Hola yachar, una duda muy interesante.
Se me ha ocurrido una cosa, veremos si te sirve:
Imagino que la página a la que te quieres dirigir no la puedes modificar, pero si sabes los id del formulario, texareas etc. Ponemos una pagina ejemplo formRemoto.htm que serÃa la que quieres rellenar:
<html>
<head>
<title>formRemoto</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h1>Rellenar formulario con Javascript desde otra ventana</h1>
<form name="form1" method="post" action="Javascript:alert('FORM RELLENADO Y ENVIADO')">
<br>
Nombre
<input type="text" name="textfieldNombre"id="textfieldNombre" value="">
<br>
Apellidos
<input type="text" name="textfieldApellido"id="textfieldApellido" value="">
<br>
Edad
<input type="text" name="textfieldEdad"id="textfieldEdad" value=""><br>
</form>
</body>
</html>
Y otra página RellenarForm.htm que es la que te permite abrir,rellenar y enviar el formulario de la anterior:
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("FormRemoto.htm","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
if (miW.document.getElementById("textfieldEdad")){
miW.document.getElementById("textfieldNombre").value="Mi nombre"
miW.document.getElementById("textfieldApellido").value="Mi apelllido"
miW.document.getElementById("textfieldEdad").value="Mi edad"
miW.document.getElementById("form1").submit()
clearInterval(timer)
}
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
Suerte, y ya me contarás si te vale.
rsalvadores
Se me ha ocurrido una cosa, veremos si te sirve:
Imagino que la página a la que te quieres dirigir no la puedes modificar, pero si sabes los id del formulario, texareas etc. Ponemos una pagina ejemplo formRemoto.htm que serÃa la que quieres rellenar:
<html>
<head>
<title>formRemoto</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<h1>Rellenar formulario con Javascript desde otra ventana</h1>
<form name="form1" method="post" action="Javascript:alert('FORM RELLENADO Y ENVIADO')">
<br>
Nombre
<input type="text" name="textfieldNombre"id="textfieldNombre" value="">
<br>
Apellidos
<input type="text" name="textfieldApellido"id="textfieldApellido" value="">
<br>
Edad
<input type="text" name="textfieldEdad"id="textfieldEdad" value=""><br>
</form>
</body>
</html>
Y otra página RellenarForm.htm que es la que te permite abrir,rellenar y enviar el formulario de la anterior:
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("FormRemoto.htm","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
if (miW.document.getElementById("textfieldEdad")){
miW.document.getElementById("textfieldNombre").value="Mi nombre"
miW.document.getElementById("textfieldApellido").value="Mi apelllido"
miW.document.getElementById("textfieldEdad").value="Mi edad"
miW.document.getElementById("form1").submit()
clearInterval(timer)
}
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
Suerte, y ya me contarás si te vale.
rsalvadores
gracias.
la idea es buena...pero tengo un problema
se me abre la pagina, pero no rellena el formulario, y dice "Acceso denegado" en la pagina que utilizo para acceder a la otra.
el codigo que he utilizado es este:
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("XXXXXX","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
miW.document.getElementByName("user").value="XXXXXXXXXXXXX";
miW.document.getElementByName("pass").value="XXX";
miW.document.getElementByName("login").submit();
clearInterval(timer)
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
el fallo me lo da al poner:
miW.document.getElementByName("user").....en esa linea
alguna sugerencia???
(a todo esto, yo no se si el metodo getElementByName se puede usar...es que no conozco los "id" de los textbox, tan solo el "name")
saludos! y gracias por la respuesta.
la idea es buena...pero tengo un problema
se me abre la pagina, pero no rellena el formulario, y dice "Acceso denegado" en la pagina que utilizo para acceder a la otra.
el codigo que he utilizado es este:
<html>
<head>
<title>RellenarForm</title>
</head>
<script>
var timer
function enviar(){
miW=window.open("XXXXXX","miW")
timer=setInterval(rellenar,500)
}
function rellenar(){
miW.document.getElementByName("user").value="XXXXXXXXXXXXX";
miW.document.getElementByName("pass").value="XXX";
miW.document.getElementByName("login").submit();
clearInterval(timer)
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onclick="Javascript:enviar()">Rellenar y enviar formulario de la pagina FormRemoto.htm</a><br>
</body>
</html>
el fallo me lo da al poner:
miW.document.getElementByName("user").....en esa linea
alguna sugerencia???
(a todo esto, yo no se si el metodo getElementByName se puede usar...es que no conozco los "id" de los textbox, tan solo el "name")
saludos! y gracias por la respuesta.
He encontrado varios errores:
No es getElementByName, es getElementsByName (con "s" entre la 't' y la 'B').
Tampoco has puesto el if de la función rellenar(). Este sirve para que solo ejecute el contenido de la función cuando la nueva pagina este cargada (por eso lo del setInterval).
Con todas estas variaciones, !! chantatachan !!... tampoco me funciona.
Asà que probe cambiando esta función y parece que va bien.
function rellenar(){
if (miW.document.login("user")){
miW.document.login("user").value="XXXXXX"
miW.document.login("pass").value="XXX"
miW.document.login.submit()
clearInterval(timer)
}
}
donde imagino que 'login' es el name del form.
Suerte
rsalvadores
No es getElementByName, es getElementsByName (con "s" entre la 't' y la 'B').
Tampoco has puesto el if de la función rellenar(). Este sirve para que solo ejecute el contenido de la función cuando la nueva pagina este cargada (por eso lo del setInterval).
Con todas estas variaciones, !! chantatachan !!... tampoco me funciona.
Asà que probe cambiando esta función y parece que va bien.
function rellenar(){
if (miW.document.login("user")){
miW.document.login("user").value="XXXXXX"
miW.document.login("pass").value="XXX"
miW.document.login.submit()
clearInterval(timer)
}
}
donde imagino que 'login' es el name del form.
Suerte
rsalvadores