簡體   English   中英

使用GET將HTML / Javascript datepicker val傳遞給Java servlet:是否必須使用隱藏的var?

[英]Passing an HTML/Javascript datepicker val to a java servlet using GET: do I have to use a hidden var?

我想通過jquery的datepicker獲取用戶輸入的日期,並將其發送到Java servlet,然后顯示它。 我以前的方法使用HTML下拉列表,但我想使用js選擇日期。 僅使用getParameter(“ date”)會產生null。 有人問過類似的問題,我了解的唯一解決方案是使用隱藏變量。 但是我必須在這里使用一個隱藏變量沒有任何意義。 為什么傳遞dateValue有效但不能傳遞日期? 還是有一種直接在HTML表單部分中傳遞日期的方法?

相關的Java Servlet代碼:

String stringDate = req.getParameter("date");

out.println(stringDate);

Javascript / HTML代碼:

<HTML>
<HEAD>
    <TITLE>
        TEST
    </TITLE>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    <script>
        $(document).ready(function() {
          $("#datepicker").datepicker({
              changeMonth: true, 
              changeYear: true,
              onSelect: function(){
                  var date = $(this).datepicker('getDate');
                  document.getElementById("dateValue").value=date;
              }
              });
        });
    </script>
</HEAD>
<BODY BGCOLOR="WHITE">
<TABLE BORDER="2" CELLPADDING="2">
<TR><TD WIDTH="275">

<FORM METHOD="GET" ACTION="myservlet">
    <input id="datepicker"/>
    <input type="hidden" name="dateValue" id="dateValue">
    <INPUT TYPE="SUBMIT" VALUE="Calculate dates">
    <INPUT TYPE="RESET">
</FORM>

</BODY>
</HTML>

您忘記命名輸入字段了。

試試看,您可以使用req.getParameter("pickedDate");檢索值req.getParameter("pickedDate");

如您所見,不需要隱藏的輸入,然后就不需要對select()進行任何操作

<HTML>
<HEAD>
    <TITLE>
        TEST
    </TITLE>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    <script>
        $(document).ready(function() {
          $("#datepicker").datepicker({
              changeMonth: true, 
              changeYear: true
              });
        });
    </script>
</HEAD>
<BODY BGCOLOR="WHITE">
<TABLE BORDER="2" CELLPADDING="2">
<TR><TD WIDTH="275">

<FORM METHOD="GET" ACTION="myservlet">
    <input id="datepicker" name="pickedDate"/>
    <INPUT TYPE="SUBMIT" VALUE="Calculate dates">
    <INPUT TYPE="RESET">
</FORM>

</BODY>

JSFiddle在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM