Сайт со «скрытой» кнопкой отправки для поиска не работает на локальном сервере

Я делаю сайт, который будет храниться локально через локальный сервер XAMPP в музее. На одной из страниц у меня есть окно поиска. Идея состоит в том, что вы вводите это поле поиска, чтобы выполнить поиск PHP, без кнопки «поиск»... это динамично.

Все работало прекрасно, пока не переместил его с онлайн-сервера (для тестирования) на локальный хост (для правильного использования). Все, что я получаю сейчас, это слово «Отправить», но никаких функций

Вот мой javascript для превращения нажатий клавиш в поиск, а ниже моя форма.

Я использую Windows 7 и пробовал во всех браузерах. Любые идеи милые люди из Stackoverflow

Javascript:

<!--Javascript to turn keystrokes into search value-->
  <script type="text/javascript">
    $(document).ready(function () {

      // Hide the submit button
      $(":submit").hide();

      // Bind an event to the keypress in order to override the form submission when pressing the enter key
      $("input[name='search_term']").keypress(function (e) {
        if (e.which == 13) {
          // prevent the form from submitting in the normal manner (return key)
          e.preventDefault();
        }
      });

      // Bind an event to the keypress event of the text box
      $("input[name='search_term']").keyup(function () {
        // Get the search value
        var search_value = $(this).val();

        // This time we're going to grab data from a file to display
        var filename = "functions/function-search.php";

        // Send these values
        var posting = $.post(filename, { search_term: search_value });

        // Display this value in our results container
        posting.done(function (data) {
          $("#search_results").empty().append(data);
        });
      });

    });
  </script>

HTML-форма:

<form action="" method="post">
  <input type="text" name="search_term" class="file_lable_search_box" id="search"  size="10" maxlength="20" border="none" autofocus="autofocus" autocomplete="off">
  <input type="submit" value="submit">
</form>

person user3113172    schedule 03.03.2014    source источник
comment
Вы должны отправить форму. Но вы можете использовать e.preventDefault, чтобы остановить его от фактического выполнения действия.   -  person Martin E.    schedule 03.03.2014
comment
Спасибо, Мартин, я в замешательстве, так как раньше все работало прекрасно. На практике, используя ваше предложение, что мне нужно сделать?   -  person user3113172    schedule 03.03.2014
comment
на самом деле я думаю, что я неверно заявил. Я добавлю код, чтобы вы могли его протестировать.   -  person Martin E.    schedule 03.03.2014
comment
jmadden означает, что вы ссылаетесь на свой jquery. Это локальный файл или вы используете хотлинк. Ссылка ‹script src='code.jquery.com/jquery-latest.min.js' /›‹/script› Вы уверены, что он действительно загружает java.   -  person Martin E.    schedule 03.03.2014
comment
Я думаю, вы попали в самую точку... моя ссылка на jquery: ‹script src=ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js type=text/javascript›, который, конечно, НИКОГДА не будет работать, когда машина не в сети Спасибо, ребята, я скачаю копию и продолжу попытки. Большое спасибо   -  person user3113172    schedule 03.03.2014


Ответы (1)


Не видя заголовка вашего сайта и того, как вы ссылаетесь на файлы/библиотеки Javascript, я бы предположил, что это может быть проблема со ссылками. При переходе от онлайн к локальному экземпляру вам может потребоваться настроить способ ссылки на файлы Javascript. Я бы также посоветовал не использовать XAMPP для производственного сервера, локально или иным образом, поскольку его основная цель - среда разработки.

person Jim M.    schedule 03.03.2014
comment
спасибо jmadden, это очень полезно с вашей стороны - забавно, поскольку это работает нормально на тестовой машине локально, но теперь я решаю проблемы. Не могли бы вы уточнить, что вы имеете в виду, ссылаясь на файлы Javascript. Я могу отправить биты моего кода - person user3113172; 03.03.2014