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

Recoger value de dos botones con el mismo name

Estas en el tema de Recoger value de dos botones con el mismo name en el foro de ASP Clásico en Foros del Web. Tengo un formulario con dos botones submit de distinto valor y con el mismo name. Cuando pulso el segundo de ello borrar me salta un ...
  #1 (permalink)  
Antiguo 16/12/2006, 13:41
yz!
Invitado
 
Mensajes: n/a
Puntos:
Recoger value de dos botones con el mismo name

Tengo un formulario con dos botones submit de distinto valor y con el mismo name. Cuando pulso el segundo de ello borrar me salta un error:


Error de Microsoft VBScript en tiempo de ejecución error '800a000d'
No coinciden los tipos: '[string: "Borrar"]'
/menu_privado/gestor_ofertas.asp, línea 17


Os posteo el codigo resumido


Código:
    select case request.form("DestinoOfertas")
        Case "Activar", "Archivar", 1 
                Hacer lo que sea
            
        Case "Borrar", 2 'ELIMINAR
            Hacer lo que sea
            
        Case Else
            
    end select


<form name="form1" method="post" action="/menu_privado/gestor_ofertas.asp" >

        <div class="enviar_select">
            <input name="DestinoOfertas" type="submit" class="boton" value="Archivar" />
            <input name="DestinoOfertas" type="submit" class="boton" value="Borrar" />
        </div>
</form>
¿Sabeis por qe esta saltando este error? A ev rsi alguien puede ayudarme.

Saludos
  #2 (permalink)  
Antiguo 16/12/2006, 14:49
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Recoger value de dos botones con el mismo name

Si tienen el mismo name, pero distinto valor, lo que estas enviando es una coleccion del tipo

boton = "value1", "value2"

Hazle un response.write y fijate el valor que toma.

Lo que podrias hacer es cambiar el value de un hidden en el evento onclick de cualquiera de los dos submit, indicandole que accion debe tomar, asi ese hidden tendra la accion correspondiente y lo puedes recoger en el asp que procesa tu form.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 16/12/2006, 17:04
yz!
Invitado
 
Mensajes: n/a
Puntos:
Re: Recoger value de dos botones con el mismo name

Ante todo muchas gracias por contestar.

Cuando hago el response.write toma el valor adecuado "Borrar", la opcion del onclick y el hidden no me convence mucho, ya que si el usuario tuviese el javascript desactivado no funcionaría.

Saludos
  #4 (permalink)  
Antiguo 16/12/2006, 18:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Recoger value de dos botones con el mismo name

Cuál es la línea de error?

Puedes intentar cambiando el case a

case "Borrar", "2"

Puede ser que tengas razón con lo de javascript, pero me parece que cada vez es más raro ese caso.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 16/12/2006, 20:49
yz!
Invitado
 
Mensajes: n/a
Puntos:
Re: Recoger value de dos botones con el mismo name

Gracias a lo que me has que me has propuesto, he arreglado el problema.

Cambie el select de esta manera:

Código:
select case CStr(request.form("DestinoOfertas"))
        Case "Activar", "Archivar", "1"
                Hacer lo que sea
            
        Case "Borrar", "2" 'ELIMINAR
            Hacer lo que sea
            
        Case Else
            
    end select
Sobre el caso de javascript, tambien tienes razón, cada vez
ese caso se da menos, pero por temas de usabilidad
y accesibilidad, tendría que generar contenido para los que no
lo tienen habilitado. Así que genero contenido directamente
para todos.

Sólo uso js para lo menos posible, ninguna funcionalidad importante,
solo cosas como validar formularios y cosas así.

Muchas gracias por tu ayuda, estaba completamente bloqueado.

Saludos
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 21:12.