Как я могу сохранить текст из поля ввода в переменной с помощью jQuery?

#jquery #ajax #django-templates

#jquery #ajax #django-шаблоны

Вопрос:

Я пытаюсь получить значение поля ввода, но оно возвращает «None». Я не уверен, что вызывает эту проблему и чего мне не хватает. Может ли кто-нибудь, кто разбирается в этой теме, пожалуйста, просмотрите мой код и предоставьте подробное объяснение решения? Я новичок в программировании и был бы признателен за любые рекомендации по этому вопросу

 <form method='POST'>
{% csrf_token %}

{% bootstrap_form search_form %}

</form>

<div id="search_results"><div>

<script>
    var delayTimer;
    $('#id_search').keyup(function() {
      clearTimeout(delayTimer);
      $('#search_results').text('Loading...');
      delayTimer = setTimeout(function() {
          var text = $("#id_search").val();
          console.log(text,'search text');
          $.ajax({
            url:'{% url "videos:search_function" %}',
            data:{
                'search_term':text
            },
            dataType:'json',
            success:function(data) {
                $('#search_results').text(data['hello']);
            }
          });
      },1000);
    });
</script>
  

Если потребуется больше деталей, чем скажите мне, я обновлю свой вопрос с этой информацией.

Ответ №1:

ваш вопрос немного неполный. сначала вы должны указать, что если есть какой-либо ввод с id_search идентификатором (опубликуйте свой окончательный html-код, который отображает браузер), тогда я бы предложил поместить ваш код в

 $(document).ready(function(){
  // here
})
  

Комментарии:

1. вот мой окончательный HTML-код поля поиска <div class="form-group"><label class="control-label" for="id_search">Search</label><input type="text" name="search" maxlength="255" class="form-control" placeholder="Search" title="" id="id_search"></div>

2. Я предполагаю, что я использую правильный идентификатор и все в порядке, но не сохраняю текст в текстовой переменной

3. Я просто скопировал ваш код, и он работает просто отлично. Я предполагаю, что что-то не так с порядком включения скрипта jQuery. убедитесь, что вы импортировали скрипт jQuery и его тег над вашим тегом script. или опубликуйте его здесь, чтобы узнать больше.