2013-11-10 3 views
0

Я совершенно не знаком с JSP и сервлетом, поэтому этот вопрос может быть действительно необычным или простым в решении! Я пытаюсь получить значения полей ввода id=creditcard и id=expirationDate! в функции в servelet, чтобы проверить поля совпадает с данными в базе данных следующим образом:получить значение из текстового поля в HTML-части Servlet

HTML в сервлет:

out.println("<html>"); 
    out.println("<head>"); 
    out.println("<title>Make payment</title>"); 
    out.println("<script type='text/javascript' src='js/jquery-1.5.2.min.js'></script>"); 
    out.println("<script type='text/javascript' src='js/payment.js'></script>"); 
    out.println("<link type='text/css' href='css/style.css' rel='Stylesheet' />"); 
    out.println("</head>"); 
    out.println("<body>"); 
    out.println("<div class='bg-light' style='width: 200px; height: 200px; position: absolute; left:50%; top:50%; margin:-100px 0 0 -100px; padding-top: 40px; padding-left: 10px;'>"); 
    out.println("<input id='reservationID' style='display: none' value='"+rb.reservationID+"' />"); 
    out.println("<div>Credit Card Number : </div>"); 
    out.println("<div><input id='creditcard' onKeyPress='return checkIt(event);' type='text' name='creditcard' maxlength='16' /></div>"); 
    out.println("<div>ExpirationDate : </div>"); 
    out.println("<div><input id='expirationDate' type='text' onKeyPress='return checkIt(event);' name='expirationDate' maxlength='4' /></div>"); 
    out.println("<span style='font-size: 75%;'>"+Error+"</span>"); 
    out.println("<div><input type='button' name='buttonsave' value='Make Payment' onclick='makePayment("+rb.reservationID+");' /></div>"); 
    out.println("<div><input type='button' name='buttoncancel' value='Cancel Payment' onclick='cancelPayment("+rb.reservationID+");' /></div>"); 
    out.println("</div>"); 
    out.println("</body>"); 
    out.println("</html>"); 

и я использую функцию в сервлет для проверки ввода и отображения ошибка в out.println("<span style='font-size: 75%;'>"+Error+"</span>") если это неправильно. Функция

сервлет:

String Error= ""; 
bolean check = us.checkCC(userID, creditno, expiration); // i need the values here! 
.... 

Заранее спасибо!

+0

Вы можете получить эти значения в вашем Servlet, как 'request.getParameter («CreditCard») ; 'и' request.getParameter ("expirationDate"); '. P.S: Эти поля ввода требуют атрибутов имени 'creditcard' и' expirationDate'. Атрибут 'id' ссылается на JavaScript. – Lion

+0

Используете ли вы AJAX, когда используете тип кнопок, 'button' -' type = "button" '? В противном случае тип должен быть отправлен. – Lion

+0

да Я использую метод Ajax Post в 'payment.js' – Poorya

ответ

1

boolean check = us.checkCC (userID, creditno, expiration); // Мне нужно значения здесь!

Вы можете получить значения, извлекая их из объекта request, передаваемого соответствующему методу.

Если вы отправляете форму, post затем код doPost в сервлет должен выглядеть примерно так:

public class NewClass extends HttpServlet { 

    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     String creditno = req.getParameter("creditcard");  //name of the input field, not id 
     String expiration = req.getParameter("expirationDate");  //name of the input field should be expirationDate 
     //... Other code follows here 
    } 
} 
+0

, но, как вы можете видеть в моем коде, я не использую какую-либо форму! – Poorya

+0

Вы упомянули, что используете пост ajax. –

+0

Я имел в виду, я не использовал никаких '

'. и да, я использовал пост ajax в файле java script. Я добавил код, как вы предложили 'doPost'! если я хочу использовать эти значения для проверки их по дате в базе данных, где я должен добавить 'bolean check = us.checkCC (userID, creditno, expiration);'? внутри doPost или использовать глобальные переменные для 'creditno' и' expiration'? – Poorya

Смежные вопросы