2010-09-26 35 views
15

En mi código para una mini-tienda de libros en línea que tienen una línea que siga repitiendo 5 veces con diferentes valores para el parámetro 'nombre'¿Cómo puedo pasar un parámetro a través del botón de enviar?

<input name="JSP-2" type="submit" value="Buy"> 

Al hacer clic en el botón Comprar, la aplicación redirige a un archivo donde buy.jsp obtiene el valor del nombre y muestra los detalles correspondientes del libro.

En mi buy.jsp, he incluido

<% String bname= request.getParameter("name"); 
out.print(bname); 
%> 

Pero el nombre imposible encontrar asignado a bname y se nota como el valor nulo. ¿Cómo paso un parámetro de la entrada de tipo de envío? Por favor ayuda.

Respuesta

16

Debe pasar el parámetro en la solicitud. Dado que tiene un formulario y envía el formulario, puede tener un campo oculto en el formulario llamado, digamos "submitType", y rellenarlo cada vez que haga clic en el botón, utilizando javascript. Entonces esto estará disponible en la próxima solicitud.

algún lugar dentro de la forma:
<input type="hidden" name="submitType">

en los botones Enviar:
<input name="JSP-2" type="submit" onclick="setType('Buy')">

Javascript: nomForm es el nombre de su formulario

<script> 
    function setType(type) 
    { 
     //formName is the name of your form, submitType is the name of the submit button. 
     document.forms["formName"].elements["submitType"].value = type; 

     //Alternately, you can access the button by its Id 
     document.getElementById("submitId").value = type; 
    } 
</script> 
+0

funciona cuando cámbielo un poco como document.forms [formName] .submitType.val ue = tipo –

+0

@ AlanDuan Sí. Y esta es la mejor forma de acceder a los elementos. Actualicé mi respuesta para reflejar eso. – Nivas

Cuestiones relacionadas