Как получить возвращенные значения функций JS и передать их во Flask - PullRequest
2 голосов
/ 04 октября 2019

У меня есть следующие выпадающие меню, значения которых возвращаются из MongoDB.

HTML

<form>
  <div class="answer1wrap">
    <select id="mySelect1">
        <option value="void">Choose your answer</option>
        {% for row in rows %}
            <option value="{{row}}">{{row}}</option>
        {% endfor %}
    </select>
  <select id="mySelect2">
       <option value="void">Choose your answer</option>
        {% for row in rows %}
            <option value="{{row}}">{{row}}</option>
        {% endfor %}
    </select>
  </div>
</form>
<button class="btn btn-default" id="checkbtn" onclick="answers_1();answers_2();" type="button"><span    class="glyphicon glyphicon-check"></span> Check answers</button>

JS

<script>
  function answers_1() {
     var select = document.getElementById("mySelect1");
     var answer = select.options[select.selectedIndex].value;
     return answer;
   }
   function answers_2() {
      var select = document.getElementById("mySelect2");
      var answer = select.options[select.selectedIndex].value;
      return answer;
   }
</script>

Я стремлюсь использовать то, что возвращают обе функции JS (ObjectID), а затем использовать их для получения определенных данных в этой коллекции.

У меня есть следующая функция, где key_1 и key_2значения возвращаются из функций JS, но я почему-то не могу заставить его работать.

@app.route("/distance_object", methods=['POST', 'GET'])
def distance_object():
    row_object = []
    cursor = object_collection.find({}, {"_id": 1})
    for document in cursor:
        row_object.append(document['_id'])
    input_1 = object_collection.find({"_id": ObjectId(key_1)}, {"x_input": 2})
    input_2 = object_collection.find({"_id": ObjectId(key_2)}, {"x_input": 2})
    return render_template("distance.html", rows=row_object)

1 Ответ

0 голосов
/ 04 октября 2019

Используйте эту функцию в JS

<script>
  function answers_1() {
     var select = document.getElementById("mySelect1");
     return select.value;
   }
   function answers_2() {
      var select = document.getElementById("mySelect2");
      return select.value;
   }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...