【问题标题】:how to add hidden attribute to DOM using Servlet如何使用 Servlet 向 DOM 添加隐藏属性
【发布时间】:2013-11-22 03:45:48
【问题描述】:

如何使用 servlet doPost 在 dom 中设置 hiddent 属性! HTML 由 servlet 创建如下:

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>");

HTTP servlet 请求获取creditcardexpirationDate 字段的值。使用它们,我将字段值与数据库进行比较并设置 CCA

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
    creditno = request.getParameter("creditcard");       //name of the input field, not id
    expiration = request.getParameter("expirationDate");     //name of the input field should be expirationDate

    if (request.getParameter("buttonsave") != null) {
        UserBean us = new UserBean();
        boolean check = us.checkCC(userID, request.getParameter("creditcard"), request.getParameter("expirationDate"));
        if (check == true) {
            CCA = 1;
        } else {
            CCA = 0;
        }
    }

现在我想从 payment.js 中的 Javascript 访问这些变量来发出警报!我怎样才能在javascript中阅读这个?将其写入 DOM 中的隐藏字段?

提前致谢!

【问题讨论】:

  • 如果您将此值放入DOM 并依赖它,那么用户可以(非常容易地)更改它。最好的方法可能是通过 Ajax 来实现。
  • 显示您的 ajax 发布请求代码。

标签: java javascript servlets


【解决方案1】:

你想要类似的东西吗,

 out.println("<input type='hidden' id='FormName' name='FormName' value='"+HiddenValue+"'>");

doPost方法中,

FormName = request.getParameter("FormName"); 

【讨论】:

  • 嗯,我的问题是如何从doPost 增加价值!我应该将它添加到我的 HTML 部分,然后插入来自 doPost 的值,如果是这样,我该怎么做?
  • 不是FormName = request.getParameter("FormName");从属性中获取参数而不是设置它吗? FormName 你的意思是它需要与表单的名称相似吗?
  • FormName,我的意思是你想要的输入元素名称。
猜你喜欢
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
  • 2013-02-02
  • 2020-01-31
  • 1970-01-01
  • 2019-01-04
  • 1970-01-01
  • 2021-02-08
相关资源
最近更新 更多