2016-12-21 1 views
0

Ich möchte 2 Eingabefeld Werte von einem der beiden Formulare in meiner JSP-Datei abrufen und diesen Wert in meiner zweiten Form verwenden. Also habe ich JavaScript verwendet, um die Werte aus dem ersten Formular abzurufen und sie in einem ausgeblendeten Eingabefeld im zweiten Formular anzuzeigen, damit ich diese Werte verwenden kann, aber es gibt mir eine Ausnahme für das Zahlenformat, also rate ich die Werte aus dem Die erste Form wird nicht korrekt an die zweite Form übergeben. Hier ist mein Code:Erhalten Sie einen Wert von einem Formular und verwenden Sie es in einem anderen JSP

jsp-Datei:

<script> 
      function getNumOfDays(){ 
       var numOfDays = document.getElementById("numOfDays").value; 
       document.getElementById("hiddenNumDays").value = numOfDays; 
      } 

      function getTotalMiles(){ 
       var totalMiles = document.getElementById("totalMile").value; 
       document.getElementById("hiddenTotalMiles").value = totalMiles; 
      } 

      function getTotalDue(){ 
       var HtotalDue = document.getElementById("totalDue").value; 
       document.getElementById("hiddentTotalDue").value = HtotalDue; 
      } 
     </script> 

erste Form

<form class="form-horizontal" name="selectVehicleForm" action="SelectVehicle"> 
       <div class="form-group"> 
        <label class="col-md-5 control-label">Number of Days Renting:</label> 
        <div class="col-md-3"> 
         <input class="form-control" type="text" id="numOfDays" name="numOfDays" disabled>     
        </div> 
       </div> 

       <div class="form-group"> 
        <label class="col-md-5 control-label">Total Miles:</label> 
        <div class="col-md-3"> 
         <input class="form-control" type="text" name="totalMile" id="totalMile" placeholder="approximate">     
        </div> 
       </div> 



       <div class="form-group"> 
        <label class="col-md-5 control-label">Total Amount Due: $</label> 
        <div class="col-md-3"> 
         <input class="form-control" type="text" name="totalDue" id="totalDue" disabled>     
        </div> 
       </div> 
      </form> 

zweite Form

<input type="text" name="hiddenNumDays" id="hiddenNumDays" disabled> 
       <input type="hidden" name="hiddenTotalMiles" id="hiddenTotalMiles" disabled> 
       <input type="hidden" name="hiddentTotalDue" id="hiddentTotalDue" disabled> 

Serlvet:

@Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    { 
     Payment paymentInfo = new Payment(); 
     paymentInfo.setId(10); 
     paymentInfo.setFirstName(request.getParameter("firstName")); 
     paymentInfo.setLastName(request.getParameter("lastName")); 
     paymentInfo.setAddress(request.getParameter("address")); 
     paymentInfo.setAptSuit(request.getParameter("aptNum")); 
     paymentInfo.setCity(request.getParameter("city")); 
     paymentInfo.setState(request.getParameter("state")); 
     paymentInfo.setZipcode(request.getParameter("zipCode")); 
     paymentInfo.setPhoneNum(request.getParameter("phoneNum")); 
     paymentInfo.setEmail(request.getParameter("email")); 
     paymentInfo.setCreditCardType(request.getParameter("card")); 
     paymentInfo.setCreditCardNum(Integer.parseInt(request.getParameter("cardNumber"))); 
     paymentInfo.setExpirationDate(request.getParameter("expMonth")); 
     paymentInfo.setCvCode(Integer.parseInt(request.getParameter("cvCode"))); 
     paymentInfo.setNumOfDays(Integer.parseInt(request.getParameter("hiddenNumDays"))); 
     paymentInfo.setTotalDue(request.getParameter("hiddenTotalDue")); 

     int result = RentService.insertPaymentDB(paymentInfo); 

     if(result > 0) 
     { 
      int vehicleID = Integer.parseInt(request.getParameter("id")); 
      InventoryService.updateVehicleAvailabilty(vehicleID); 
      response.sendRedirect("RentCar"); 
     } 
     else 
     { 
      response.sendRedirect("failure.jsp"); 
     } 
    } 

Antwort

1

, warum Sie den Wert, den Sie entweder nehmen Sie nicht wie diese

der beiden Formen in der Sitzung setzen
request.getsession.setAttribute("name", value); 

dann können Sie darauf zugreifen

String value=session.getAttribute("name").toString(); 
+1

Ich dachte an das zu tun, aber ich habe mich gefragt, Wenn es einen anderen Weg gäbe, –

+0

großartig zu machen, so wie es funktioniert, muss man sich um keine anderen Möglichkeiten kümmern –

Verwandte Themen