2010-09-26 6 views
15

Dans mon code pour un mini-magasin de livres en ligne i ont une ligne suivante répéter 5 fois avec une valeur différente pour « nom » paramètreComment passer un paramètre via le bouton Soumettre?

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

En cliquant sur le bouton Acheter, l'application redirige vers un fichier où buy.jsp il obtient la valeur du nom et affiche les détails correspondants du livre.

Dans mon buy.jsp, j'ai inclus

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

Mais le nom ne marche seront affectés aux bname et il montre la valeur nulle. Comment est-ce que je passe un paramètre de l'entrée de type de soumission? S'il vous plaît aider.

Répondre

16

Vous devez transmettre le paramètre dans la demande. Puisque vous avez un formulaire et que vous soumettez le formulaire, vous pouvez avoir un champ caché dans le formulaire appelé, par exemple "submitType", et le remplir lorsque vous cliquez sur le bouton, en utilisant javascript. Ensuite, ce sera disponible dans la prochaine demande.

Quelque part à l'intérieur de la forme:
<input type="hidden" name="submitType">

dans les boutons d'envoi:
<input name="JSP-2" type="submit" onclick="setType('Buy')">

Javascript: formName est le nom de votre formulaire

<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

cela fonctionne quand je changez-le un petit peu comme document.forms [formName] .submitType.val ue = type –

+0

@AlanDuan Oui. Et c'est la meilleure façon d'accéder aux éléments. Mise à jour de ma réponse pour refléter cela. – Nivas

Questions connexes