PHP by keypress jquery

时间:2017-12-06 22:30:37

标签: javascript php mysql ajax

我想在我的用户名数据库中进行搜索,但它不识别按键功能。另外,我想在第一次加载时阻止search.php(不能使用isset,因为没有按钮)这是我的 index.php

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<head>
  <title></title>
  <?php  include 'search.php'; ?>

  <script>
    $(document).ready(function() {
      $("#textbox1").keypress(function() {
        $.ajax({
          type: "GET",
          url: "search.php",
          success: function(data) {
            $("#main").html(data);
          }
        });
      });
    });
  </script>

  <form method="POST">
    enter keyword to search<br>
    <input type="text" name="textbox1" id="textbox1">
    <br><br>
    <div id="main"></div>
  </form>
</head>

<body>

这是我的 search.php connection.php 正常工作。所以我不是在这里粘贴它

<?php

    include 'connection.php';

    $search_value = $_POST['textbox1'];
    $query = "SELECT username FROM users WHERE username LIKE '" . $search_value . "%'";
    $conn_status = mysqli_query($conn, $query);

    while($row = $conn_status->fetch_assoc())
    {
        echo $row['username'] . '<br>';
    }
?>

2 个答案:

答案 0 :(得分:2)

您应该将字段值作为ajax请求中的数据发送到PHP页面,如:

$.ajax({
    type: "GET",
    url: "search.php",
    data: {textbox1: $(this).val()},
    success: function (data) {
          $("#main").html(data);
    }
});

注意:我建议在这种情况下使用input事件,因为它在跟踪用户输入时效率更高:

$("#textbox1").on('input', function(){
    //Your logic here
});

答案 1 :(得分:0)

这个片段是一个有修改的片段,因为你有错误的HTML以及忘记将数据发送到服务器。

.gs