Foros del Web » Programando para Internet » Javascript »

En un action, como evitar que pase el name="nombre_que_ sea" del input???

Estas en el tema de En un action, como evitar que pase el name="nombre_que_ sea" del input??? en el foro de Javascript en Foros del Web. Hola, tengo un action que envia algunos input text y hidden a la url de una pagina con una base de datos Isis y dado ...
  #1 (permalink)  
Antiguo 16/08/2007, 08:38
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
En un action, como evitar que pase el name="nombre_que_ sea" del input???

Hola, tengo un action que envia algunos input text y hidden a la url de una pagina con una base de datos Isis y dado que las URL en los action no se pueden modificar ni insertar nada ajeno he debido hacer una concatenacion de text y hidden para que llegue la URL completa con el text ingresado por el user insertado en tres posiciones diferentes.
El caso es que el envio incluye la propiedad name del input=text y ésta se mete en el URL y entonces por supuesto éste último no funciona...
Hay modo de que se pueda omitir el envío del name???
Aclaro que NO puedo evitar de poner name al input porque, para que el texto ingresado se copie a los hidden, necesito identificar el tag en el function.
Este es el codigo:

<head>
<script language="javascript">

function pasaValor(form){
formenv.Dos.value = formenv.Uno.value;
formenv.Tres.value = formenv.Dos.value;
}


function enviaform(){
document.formenv.submit()
}
</script>
</head>

<body>
<form action="http://www.dominiodb/[in=cgi]/?t2000=%28%2" name="formenv" method="get">
<input type=text name="Uno" value="" SIZE="10" onKeyUp="pasaValor(this.form)">
<input type="hidden" name="%24%22%2F%2811%29%29&t2001=%28%2">
<input type="hidden" name="Dos">
<input type="hidden" name="%24%23%2F%2811%29%29&t2002=%2811%3">
<input type="hidden" name="Tres">
<input type="hidden" name="%29&t2003=20&t2004=1&t2005=data%2Fdipu&t2006 =pft%2F&t2007=%2Fdiputado%2Fform.htm&t2008=10&t200 9=wwwi32.exe&t2010=&t2011=graphic%2F&t2012=%2Fdipu tado%2Fstyle%2F&t2013=&t2014=gizmo%2Fcodage&t2015= ">

<input type="button" Onclick="javascript:enviaform()" value="Buscar">
<input type="button" OnClick="javascript:ResetForm();" value="Borrar">&nbsp;</form>


Gracias por toda ayuda
RickAu
  #2 (permalink)  
Antiguo 16/08/2007, 10:44
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

podrias generar la URL dinamicamente, y sin especificar por GET por ejemplo
Código PHP:
function enviaform(){
document.formenv.action="http://www.dominiodb/[in=cgi]/?t2000=%28%2" document.formenv.campo1.value;
document.formenv.submit()

  #3 (permalink)  
Antiguo 16/08/2007, 23:30
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Gracias por tu ayuda

Te pido si me das más datos para componerlo bien porque no doy con la tecla...
Me salen los datos desordenados en la URL y siguen apareciendo en la misma URL los tag del campo, es decir si es Campo1, se inserta en el URL "Campo1=Textodelinput".
Además no es una sola insercion del texto del input=text en el URL, sino tres las que necesito y no logro ordenarlas con la sentencia que me pasaste. Si no te es muy complicado podrias pasarme el orden completo para que en un URL se inserte tres veces el mismo texto ingresado por el user el input=text.
El URL es algo así (como ves es un rollo largo y donde dice "TEXTO_DE_INPUT" es la posición del string donde hay que meter el texto (se repite el mismo) tipeado por el user en la caja del input.


http://www.dominiodb/cgi.in]/?t2000=%28%22'TEXTO_DE_INPUT'%24%22%2F%
2811%29%29&t2001=%28%23'TEXTO_DE_INPUT'%24%23%2F%2 811%29%
29&t2002=%2811%3D'TEXTO_DE_INPUT'%29&t2003=20&t200 4=1&t2005=data
%2Fdipu&t2006=pft%2F&t2007=%2base%2Fform.htm&t2008 =10&t2009=
wwwi32.exe&t2010=&t2011=graphic%2F&t2012=%2Fbasea% 2Fstyle%2F&
t2013=&t2014=gizmo%2Fcodage&t2015=

Gracias por tu ayuda
  #4 (permalink)  
Antiguo 17/08/2007, 07:14
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Mira, si tienes el siguiente formulario
Código PHP:
<form name="formu">
<
input type="text" value="XXX" name="data1">
<
input type="hidden" name="data2" value="YYY">
<
input type="hidden"name="data3" value="SSS">
<
input type="button" onclick="creaURL(this.form)">
</
form
si el formulario fuera por get y el action fuera www.prueba.com, se crearia la siguiente url www.prueba.com?data1=XXX&data2=YYY&data3=SSS
pero si lo dejas como esta y creas un script parecido a este
Código PHP:
function creaURL(form){
form.action "www.prueba.com?" form.data1.value "&" form.data2.value  "&" form.data3.value;
form.submit();

Me va a enviar la siguiente URL
www.prueba.com?XXX&YYY&SSS
  #5 (permalink)  
Antiguo 17/08/2007, 10:30
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Disculpa, Randill, pero estoy enredado... ya se me cruzan los URL con este rollo...
No me funciona...
Hago esto y no se que hago mal...

<head>
<script language="javascript">

function pasaValor(form){
dipu.Dos.value = dipu.Uno.value;
dipu.Tres.value = dipu.Dos.value;
}

function enviaform(form){
form.action = "http://dominio/cgi/" + form.Uno.value + "URL" + form.Dos.value + "URL" + form.Tres.value + "URL";
form.submit()
</script>
</head>

<body>

<form name="dipu">
<input type=text name="Uno" value="" SIZE="10" onKeyUp="pasaValor(this.form)">
<input type="hidden" name="Dos">
<input type="hidden" name="Tres">
<input type="button" Onclick="javascript:enviaform(this.form)" value="Buscar">
<input type="button" OnClick="javascript:ResetForm();" value="Borrar">&nbsp;</form>

---------------Sospecho que pongo mal los nombres de form en el script pero probé de otros modos y no vas. No se si debo dejar como esta la function pasavalor() que no se si funciona.
Además el IE al cargar la página me tira un error de ejec en la línea donde está " function enviaform(form){"...
Tampoco logro que funcione poniendo o quitando el method="get"...
O sea, no responde el button, ni error tira en el onclick... queda mudo...
Otra: lo podré usar, si logro hacerlo correr, con el metodo post???
Abuso de tu ayuda... disculpas. Te agradezco tu atención.
Un saludo cordial
RickAu

Última edición por RoskyAu; 17/08/2007 a las 10:33 Razón: Puse mal el dedito
  #6 (permalink)  
Antiguo 17/08/2007, 10:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Weno lo primero es ke te faltaba un ; } al terminar el form.submit();
Cita:
Iniciado por RoskyAu Ver Mensaje
Código PHP:
<head>
<
script language="javascript">

    function 
pasaValor(form){
    
form.Dos.value form.Uno.value;
    
form.Tres.value form.Dos.value;
}

    function 
enviaform(form){
    
form.action "http://dominio/cgi/" form.Uno.value "URL" +         form.Dos.value  "URL" form.Tres.value "URL";
    
form.submit() ;}
</script>
</head>

<body>

<form name="dipu"> 
<input type=text name="Uno" value="" SIZE="10" onKeyUp="pasaValor(this.form)">
<input type="hidden" name="Dos">
<input type="hidden" name="Tres">
<input type="button" Onclick="javascript:enviaform(this.form)" value="Buscar">
<input type="button" OnClick="javascript:ResetForm();" value="Borrar">&nbsp;</form> 
Lo segundo es que sigue tirando el nombre de los campos en la url, asi ke lo ke podrias hacer es como usas GET, podrias usar el location y daria un resultado practicamente = (recomendado)
Lo otro es cambiar el method del formulario a POST, ahi se iria al action con las variables correctas, pero tambien enviaria al server vars pr el metodo POST.
Código PHP:
 function enviaform(form){
location.href "http://dominio/cgi/" form.Uno.value "URL" +         form.Dos.value  "URL" form.Tres.value "URL";

Si no podrias sacar los campos del formulario y generar el action por las ids de lso campos(tambien recomendado)
Código PHP:
<head>
<
script llanguage="javascript">
function 
enviaform(form){
form.action "http://dominio/cgi/" document.getElementById("Uno").value "URL" +         document.getElementById("Dos").value  "URL" document.getElementById("Tres").value "URL";
 
form.submit() ;}

function 
pasaValor(form){
document.getElementById("Dos").value document.getElementById("Uno").value;
document.getElementById("Tres").value document.getElementById("Dos").value;
}
</script>
</head>
<body>
<form id="dipu" method="">
</form>
<input type=text id="Uno" value="" SIZE="10" onKeyUp="pasaValor(document.getElementById("dipu"))">
<input type="hidden" id="Dos">
<input type="hidden" id="Tres">
<input type="button" Onclick="javascript:enviaform(document.getElementById("dipu"))" value="Buscar">
<input type="button" OnClick="javascript:document.getElementById("dipu").ResetForm();" value="Borrar">&nbsp; 
  #7 (permalink)  
Antiguo 17/08/2007, 16:05
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Gracias otra vez!!!!
Elegí el último porque las ids no dan problema de name, etc... pero no lo puedo probar porque el IE me tira errores de sintaxis que no se por qué, me parece algo extraño... justamente los report que da en la ventanita de los errores son en las líneas que te marco en el paste de abajo.
Hice esto:

<script language="javascript">
function pasaValor(form){
document.getElementById("Dos").value = document.getElementById("Uno").value;
document.getElementById("Tres").value = document.getElementById("Dos").value;
}

function enviaform(form){
form.action = "http://dominio" + document.getElementById("Uno").value + "URL" + document.getElementById("Dos").value + "URL" + document.getElementById("Tres").value + "URL";
form.submit();
}
</script>

<form id="dipu" method="">
<input type=text id="Uno" value="" SIZE="10" onKeyUp="javascript:pasaValor(document.getElementB yId("dipu"))">
ERROR EN EL IE--> <input type="hidden" id="Dos">
<input type="hidden" id="Tres">
<input type="button" Onclick="javascript:enviaform(document.getElementB yId("dipu"))" value="Buscar">
ERROR EN EL IE--> <input type="button" OnClick="javascript:document.getElementById("dipu" ).ResetForm();" value="Borrar"></form>

-----------
Sabes que puede ser el error???
Además aun no he podido probar pero me dejaste el method="", lo dejo así o agrego el POST??
Tambien estaba el </form> debajo del <form id...>, por alguna razón o fue "un dedo" nomás??
te agradezco otra vez tu valioSISIMA ayuda .
Cordiales saludos
  #8 (permalink)  
Antiguo 18/08/2007, 17:24
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

No he mirado sobre ke puede ser el error en el explorer, pero te recomiendo usar el firefox con la extension firebug para ir depurando los scripts. Pruebalo en firefox y en caso de tener un error te va a dar mas detalles de este.
Sobre el method, efectivamente se me fue, y si tienes ke dejarlo con GET
El que haya escrito el <form .,..> y lo haya cerrado inmediatamente</form>, es para ke cuando le des el submit() el form no tenga ningun campo a enviar, entonces asi no podra el nombe del campo en la URL, la verdad es que es solo un truco que tiene el mismo efecto que el location.href.
  #9 (permalink)  
Antiguo 19/08/2007, 13:33
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

FF con firebug tira estos errores, pero no encuentro que pueda ser.... incluso es raro que diga en linea 1 cuando en ella solo esta la sentencia HTML <html>...

syntax error
[Break on this error] javascript:pasaValor(document.getElementById(
index.html (line 1)
syntax error
[Break on this error] javascript:pasaValor(document.getElementById(
index.html (line 1)
syntax error
[Break on this error] javascript:pasaValor(document.getElementById(
index.html (line 1)
syntax error
[Break on this error] javascript:pasaValor(document.getElementById(
index.html (line 1)
syntax error
[Break on this error] javascript:pasaValor(document.getElementById(
index.html (line 1)
syntax error
[Break on this error] javascript:enviaform(document.getElementById(


Tengo esto en el codigo:

<script language="javascript">
function enviaform(){
form.action = "http://dominiodb" + document.getElementById("Uno").value + "URL" + document.getElementById("Dos").value + "URL" + document.getElementById("Tress").value + "URL";
form.submit();
}

function pasaValor(form){
document.getElementById("Dos").value = document.getElementById("Uno").value;
document.getElementById("Tres").value = document.getElementById("Dos").value;
}
</script>
<body>
<form id="dipu" method=""></form>
<input type=text id="Uno" value="" SIZE="10" onKeyUp="javascript:pasaValor(document.getElementB yId("dipu")))">
<input type="hidden" id="Dos">
<input type="hidden" id="Tres">
<input type="button" Onclick="javascript:enviaform(document.getElementB yId("dipu"))" value="Buscar">
<input type="button" OnClick="javascript:ResetForm(document.getElementB yId("dipu"))" value="Borrar">

Gracias otra y otra y otra vez, Randill :) :)
  #10 (permalink)  
Antiguo 19/08/2007, 13:46
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Primero, aclaro que aunque agregué el "get" al codigo del msg anterior, tampoco funciona.
Uno de los errores vistos antes estaba en un parentesis ) de más en

<input type=text id="Uno" value="" SIZE="10" onKeyUp="javascript:pasaValor(document.getElementB yId("dipu")))">

Pero arreglado eso, sigue dando 4 errores de sintaxis en javascript:pasaValor(document.getElementById(
index.html (line 1)

Alguna idea más??? Gracias por tu paciencia :)
  #11 (permalink)  
Antiguo 19/08/2007, 20:40
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Prueba esto, de todas formas mañana lo reviso bien, donde dice javascript:pasaValor(document.getElementB yId("dipu"))), dejalo como pasaValor(document.getElementB yId("dipu"))).
  #12 (permalink)  
Antiguo 20/08/2007, 01:29
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Estuve probando y así como pego abajo funciona, excepto que deja la URL en la barra de direcciones (funciona solo con el post) pero no abre la nueva página, queda en blanco la pantalla... PERO... si a la URL cargada en la barra le doy un Enter a mano, o sea, ejecutando desde el teclado, se abre la nueva página sin problemas... Es como si le faltara "gasolina" ...
Estuve probando con una segunda llamada a la función agregando un window.open("primer tramo de la URL"), por ejemplo, pero no way... se abre un "_blank" y se queda sin cargar el resto del form ni de la URL...
Randill, eres muy gentil con tu ayuda, gracias
------paste del form

<head>
<script language="javascript">
function pasaValor(form){
document.getElementById("Tres").value = document.getElementById("Dos").value = document.getElementById("Uno").value;
}

function enviaform(form){
form.action = "URL" + document.getElementById("Uno").value + "URL" + document.getElementById("Dos").value + "URL" + document.getElementById("Dos").value + "URL";
form.submit();
}

</script>
</HEAD>
<body>
<form id="dipu" method="post">
<input type=text id="Uno" value="" SIZE="10" onKeyUp="javascript:pasaValor(form)">
<input type="hidden" id="Dos">
<input type="hidden" id="Tres">
<input type="button" Onclick="javascript:enviaform(form)" value="Buscar">
<input type="button" Onclick="javascript:ResetForm(form)" value="Borrar"></form>
  #13 (permalink)  
Antiguo 20/08/2007, 07:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 52
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Esto lo probe y me funciona sin problemas en Firefox e IE
Código PHP:
<script language="javascript">
function 
pasaValor(){
document.getElementById("Tres").value document.getElementById("Dos").value document.getElementById("Uno").value;
}

function 
enviaform(){
location.href="URL" document.getElementById("Uno").value "URL" document.getElementById("Dos").value "URL" document.getElementById("Dos").value "URL";
}

</script>
</HEAD>
<body>
<form>
<input type=text id="Uno" value="" SIZE="10" onKeyUp="pasaValor()">
<input type="hidden" id="Dos">
<input type="hidden" id="Tres">
<input type="button" Onclick="enviaform()" value="Buscar">
<input type="reset"  value="Borrar">
</form> 
  #14 (permalink)  
Antiguo 20/08/2007, 19:49
 
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires
Mensajes: 14
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: En un action, como evitar que pase el name="nombre_que_ sea" del input???

Funciona perfecto!!!!!
Gracias Randill, tu ayuda fue absolutamente genial y permitió arreglar el problema...

Gracias MILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL!!!!!!!!!!!!!!!
Saludos cordiales
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 22:30.