Foros del Web » Programando para Internet » ASP Clásico »

Asignar funcion segun tipo de campo en formulario

Estas en el tema de Asignar funcion segun tipo de campo en formulario en el foro de ASP Clásico en Foros del Web. Saludos: Tengo una serie de formularios que tienen campos de texto, pero que contienen precios. Lo que quiero es usar una función que elimine los ...
  #1 (permalink)  
Antiguo 12/04/2006, 05:48
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Asignar funcion segun tipo de campo en formulario

Saludos:
Tengo una serie de formularios que tienen campos de texto, pero que contienen precios. Lo que quiero es usar una función que elimine los puntos de un precio y lo convierta en coma. Hasta ahí sin problema. El asunto es que quiero que la funcion solo funcione sobre esos campos, como son varios y en bastantes formularios se me ocurrio algo pero no se como hacerlo. Si un campo se llama precio y al id del campo le llamo numero entonces que actue la funcion.
Es decir que quedaría asi:
<input name="precio" id="numero">
<input name="cantidad" id="numero">
<input name="producto" id="producto">

Lo que quiero es que la función actue solo sobre los campos que tienen un id="numero" ¿pero como puedo hacerlo?. A lo mejor es muy simple pero por más vueltas que le doy no lo veo.
Gracias por todo
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 12/04/2006, 06:35
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 8 meses
Puntos: 56
Si tu función está en javascript, puedes usar un parámetro, del tipo boleano por ejemplo, que le indique a la función que calcule o no de acuerdo a lo que ya tienes programado, por ejemplo:
<input name="precio" id="numero" onChange="Funcion(this,true);">
<input name="cantidad" id="numero" onChange="Funcion(this,true);">
<input name="producto" id="producto" onChange="Funcion(this,false);">
o no le agregas nada y simplemente la desactivas en los input que no sean necesarios:
<input name="precio" id="numero" onChange="Funcion(this);">
<input name="cantidad" id="numero" onChange="Funcion(this);">
<input name="producto" id="producto" >


__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 12/04/2006, 09:51
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Mi función está hecha en asp. Debe funcionar justo antes de meter los datos en la DB ACCESS.
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #4 (permalink)  
Antiguo 12/04/2006, 10:50
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
ciberpata, no podés (bueno, si, pero no debés) repetir el ID. Un ID debe ser único por cada página (un ID es un identificador, y un identificador debe identificar únicamente a un elemento)

Bien, pasando a lo estrictamente ASP, no hay forma de recuperar el ID del elemento del formulario.
Lo que se me ocurre es que al "name" le pongas un prefijo, por ejemplo, PaC_ (Puntos a Comas)


<input name="PaC_precio" id="PaC_precio">
<input name="cantidad" id="cantidad">
<input name="producto" id="producto">

Luego, te armás una función que haga un request.form("elemento_del_form") y verifique los 4 primeros caracteres... si es "PaC_", que reemplace los puntos por las comas...


Código:
function recoge(elemento)
tmp = request.form(elemento)
if left(elemento, 4) = "PaC_"
' tu proceso para reemplazar el punto por una coma
end if
recoge = tmp
end function

variable = recoge(request.form("PaC_precio"))
variable = recoge(request.form("cantidad"))
__________________
...___...
  #5 (permalink)  
Antiguo 12/04/2006, 11:01
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 8 meses
Puntos: 56
Bueno, creo que deberías usar javascript, de manera que haces la validación antes de pasarlo al ASP
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #6 (permalink)  
Antiguo 12/04/2006, 11:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
y si alguien tiene desactivado javascript en su navegador?
no le crearía inconsistencia en los datos almacenados en la BD? (precios con comas... precios con puntos...)
__________________
...___...
  #7 (permalink)  
Antiguo 12/04/2006, 14:11
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 18 años, 5 meses
Puntos: 1
HOLA CYBERPATA,

podría ser esta la solución que buscas?


pag de funciones.asp
<%
function remplazopuntoporcoma(dato)
remplazopuntoporcoma = replace(dato,".",",")
end funtion
%>


pag que recoge los in_datos.asp
<!--#include file="funciones.asp" -- >
<%
precio1 = remplazopuntoporcoma(request("precio"))
cantidad = remplazopuntoporcoma(request("cantidad"))

%>
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
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 19:21.