Используйте значение переменной jquery в теге html form - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь передать значение currentDate службе REST GET при нажатии кнопки «Отправить».Здесь я не понимаю две вещи.

  1. Могу ли я поместить URL-адрес службы REST в атрибут действия тега формы таким образом.
  2. Могу ли я передать значение переменной currentDate в веб-службу в качестве параметра таким образом.

$(function() {
  $("#datepicker").datepicker();
});
$(document).ready(function() {
  $("#submit1").click(function() {
    var currentDate = $(".selector").datepicker("getDate");
    $("#testForm").submit();

  });
});
<body>
  <form name="myForm" id="testForm" method="GET" action="http://localhost:8080/LocWebService/rest/tracollect/currentDate">
    Date: <input type="text" id="datepicker">
  </form>
  <br/>
  <input type="button" id="submit1" value="SUBMIT" />
</body>

Ответы [ 2 ]

0 голосов
/ 19 июня 2019
  1. Могу ли я поместить URL-адрес службы REST в атрибут действия тега формы таким образом.
  2. Могу ли я передать значение currentDate веб-службе в качестве параметра таким образом.

Это очень запутанно. Как уже упоминалось в комментариях, вы можете передавать переменные в запросе GET несколькими способами. Это будет зависеть от того, что ожидает ваш REST API. Например, какой формат даты нужен?

mm/dd/yy
yy-mm-dd
ddmmyy

Тогда как это должно быть передано?

http://localhost:8080/LocWebService/rest/tracollect?currentDate=06-26-2019
http://localhost:8080/LocWebService/rest/tracollect/currentDate/06/26/2019

Есть только куча способов, которые мы могли бы сделать, которые мы не можем предвидеть. Вам нужно будет это определить.

Рассмотрим следующий код:

$(function() {
  var dF = "yy/mm/dd";

  $("#datepicker").datepicker({
    dateFormat: dF
  });

  $(".fancy").button();

  $("#testForm").submit(function(e) {
    var dObj = $("#datepicker").datepicker("getDate");
    var dStr = $.datepicker.formatDate(dF, dObj);
    var act = $(this).attr("action") + "/" + dStr;
    $(this).attr("action", act);
    console.log("New Action: " + act);
    return true;
  });
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<form name="myForm" id="testForm" method="GET" class="ui-widget" action="https://localhost:8080/LocWebService/rest/tracollect/currentDate">
  Date: <input type="text" id="datepicker"> <button class="fancy" type="submit">Go</button>
</form>

Надеюсь, это поможет.

0 голосов
/ 18 июня 2019

Нет, переменные не раскрываются в action атрибутах.Вы можете изменить атрибут в функции.

Я также изменил обработчик на событие submit, поэтому вам не нужно явно вызывать .submit().

$(document).ready(function() {
  $(function() {
    $("#datepicker").datepicker();
  });

  $("#myForm").submit(function() {
    var currentDate = $("#datepicker").datepicker("getDate");
    $("#testForm").attr("action", `http://localhost:8080/LocWebService/rest/tracollect/${currentDate}`);
  });
});
<body>
  <form name="myForm" id="testForm" method="GET" action="http://localhost:8080/LocWebService/rest/tracollect/currentDate">
    Date: <input type="text" id="datepicker">
  </form>
  <br/>
  <input type="button" id="submit1" value="SUBMIT" />
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...