Cambiar el valor de un campo de un form en ASP

Bueno eso debes hacerlo con javascript. Para ello voy a asuponer que "campo1" va a ser un recuadro de texto donde quieres hacer el cambio y "campo2" de donde vas a coger el valor. Además el nombre del formulario será "datos". Tu después adáptalo a los nombre que tengas en tu formulario.
En el formulario donde este el botón de submit pon esto en la etiqueta form:
<form action="pagina.asp" method="post" name="datos" id="datos" onSubmit= return cambiar();">
Es decir a tu etiqueta form añádele esa porta de onSubmit=...
Y en la parte de declaración de Javascript
<script language="JavaScript" type="text/JavaScript">
<!--
function cambiar(){
document.datos.campo1.value=document.datos.campo1.value;
return true;
}
//-->
</script>
Esto realmente lo que hace es antes de enviar los datos del formulario coge el valor del campo2 y lo mente en campo1 y después envía.
Suerte y un saludo dsd Cádiz
1

1 Respuesta

25.425 pts.
Si, si claro que puedes. Haz esto:
Dim v1,v2
v1=request.form("campo1")
v2=request.form("campo2")
v2=v1
Y después con v1 y v2 haces lo que quieras, metes los valores en la tabla y grabas o asignas de nuevo esos campos al los textbox del formulario.
Las variables request, transportan desde el clienten al servidor los valores de los campos del formulario, a fin de cuenta son variables y ya en el servidor puedes hacer lo que quieras con ellas. Para no tener problemas, ya que son valores de petición /request) las pasas a las variables v1 y v2 y con su valor haces lo que quieras.
Pero ya te digo, yo tu utilizaría javascript que es más cómodo.
Gracias de nuevo por todo.
En realidad mi inquietud era saber si puedo hacer algo como: document.form1.campo2.value=documento.form1.campo1.value en el lado del servidor el hacer la petición desde el formulario para que guarde los datos en la BD y luego devuelva otra página.
Pero al parecer, para realizarlo, necesitaría hacer algo como:
request.form("campo2")=request.form("campo1")
Lo cual no es posible (creo).
Espero su apreciación.
Por lo pronto optaré por la opción de Javascript.
Gracias.
Juan (Medellín - Colombia)
Sobre cambiar el valor, me refería a cambiarlo directamente al request. form("campo2") sin utilizar variables. Por eso te digo que creo que no es posible.
Muchísimas gracias amigo por tu ayuda y tu tiempo. Te agradezco mucho, en especial por la prontitud en las respuestas.
Hasta pronto.
Juan
Saludos,
¡Necesito urgente! Saber como puedo cambiar, mediante ASP (VBScript), el valor de un campo de texto de un formulario, después de presionar el botón "Submit", basado en el valor de otro campo del formulario.
De antemano muchísimas gracias por la ayuda.
Juan
Te agradezco mucho DSD por tomarte tu tiempo en responder mi pregunta.
La verdad ya había pensado en hacer algo así con Javascript, pero no quise hacerlo de esa forma pensando en el caso de los navegadores que no aceptan Javascript o que tienen una version vieja. (¿Qué opina de eso?). Pienso que eso es crítico.
Además teniendo en cuenta que dichos datos serán almacenados en una base datos, pienso que es mejor hacer el proceso en el servidor y no en el cliente; por eso quiero saber como se puede hacer mediante ASP con Vbscript del lado del servidor.
Nuevamente muchas gracias por tu tiempo y estaré atento a tu respuesta; de verdad me urge muchísimo una solución.
Juan.
Bueno no te preocupes mucho por el tema de JavaScript, actualmente, menos del 1% de los navegadores no son capaces de leer javascript. Este lenguajen esta mundialmente utilizado, aunque bueno, muchos programadores lo evitan por ese 1%. Yo la verdad que lo utilizo bastante, ya que es de gran ayuda.
Utilizar VBScript es más engorroso y menos operativo para el caso que planteas porque tendrás que subir la petición al servidor allí hacer el cambio y después extraer los valores de la base de datos al formulario otra vez y también porque si ya tienes un dato abajo en el cliente, primero le pasas el valor del campo2 al campo1 y después subes los datos y los grabas en la BD.
Y bueno si lo quieres hacer en VBScritp, tomando el ejemplo que te puse anteriormente, cuando le des a Submit no pongas nada en onSubmit, es decir, quítalo de la etiqueta <form...> para que directamente suba los datos sin ejecutar antes ninguna función Javascript. Y en la página a la que le envía los datos que la hemos llamado "página.asp" antes de guardar los datos iguala el valor del campo1 al campo2. Esta página (página.asp) seria idéntica a la que contiene el formulario pero los campos de texto tendrías este código:
<input name="campo1" type="text" value=<%=Request.Form("campo2")%>>
<input name="campo2" type="text" value=<%=Request.Form("campo2")%>>
Antes deberás incluir código al principio para que recogiera los datos de las variables Request. Form y los grabase en los campos de la tabla de la base de datos, teniendo en cuenta de meter el valor de campo2 en campo1.
Y ahora yo una pregunta, ¿para qué quieres subir los datos para intercambiarlos arriba si los tienes abajo en el cliente? O quizás yo te estoy entendiendo mal y cuando en tu primera pregunta me dijiste que querías "saber como puedo cambiar, mediante ASP (VBScript), el valor de un campo de texto de un formulario, después de presionar el botón "Submit", basado en el valor de otro campo del formulario.
" Me estabas hablando de campos de la tabla de la base de datos y no de campos de texto de un formulario?
Bueno no se ahí va eso, espero que esto sea lo que quieres, si no, no dudes en seguir preguntando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas