如何使php内容出现在html div元素中

问题描述 投票:3回答:3

我正在尝试使用ajax和mysql创建搜索并将返回的数据放入div中。我正在关注youtube的一个教程,到目前为止一直很好,但是我试图将虚拟数据传递给div,但它没有出现。

这是我的jquery

$('#submit').on('click', function() {
var search = $('#search').val();

    if ($.trim(search) != '') { //if search is not equal to nothing - using trim allows users to type in blank space and it won't return anything 
        $.post('searching.php', {search: search}, function(data) {
            $('#search').text(data);
    });
    }
 });

这是我的HTML

  <div class="container">
    <div class="card card-container">

        <p id="profile-name" class="profile-name-card"></p>
        <form class="form-signin" method="POST">
            <input type="text" name="search" id="search" class="form-control" placeholder="Search">


        </form><!-- /form -->
         <button class="btn btn-lg btn-primary btn-block btn-signin" value= "search" type="required" id="submit" name="submit">Search</button>

    </div><!-- /card-container -->


       <div class="row">

<div class="col-md-4">
<div id="search"></div> 


    <div class="caption">
      <p></p>
    </div>

</div>

当用户单击搜索时,search.php文件中的内容应出现在div中。目前在search.php文件中它只有echo“content”;它应该在div中具有“内容”,但它不会出现在Web浏览器中并且没有错误。在inspect元素的网络中,名称是searching.php,状态正常。不知道我哪里出错了,任何帮助都会感激不尽。

javascript php jquery html
3个回答
2
投票

不要对输入和div使用相同的id(搜索)

更改html中的id

<div class="container">
    <div class="card card-container">
        <p id="profile-name" class="profile-name-card"></p>
        <form class="form-signin" method="POST">
            <input type="text" name="search" id="search" class="form-control" placeholder="Search">
        </form>
         <button class="btn btn-lg btn-primary btn-block btn-signin" value= "search" type="required" id="submit" name="submit">Search</button>
    </div><!-- /card-container -->
    <div class="row">
    <div class="col-md-4">
        <div id="searchText"></div> 
        <div class="caption">
        <p></p>
    </div>
</div>

和javascript

$('#submit').on('click', function() {
var search = $('#search').val();

    if ($.trim(search) != '') { //if search is not equal to nothing - using trim allows users to type in blank space and it won't return anything 
        $.post('searching.php', {search: search}, function(data) {
            $('#searchText').text(data);
    });
    }
 });

4
投票

您的HTML中有多个id="search"元素。所以这不知道你指的是哪一个:

$('#search')

它可能试图设置<input>的“文本”,它没有“文本”(它有一个“值”)。纠正HTML。要么改变<input><div>有一个独特的id。 (当然,更新您的jQuery选择器以及针对这些元素的任何其他内容。)


0
投票

.text无法使用输入

使用val()而不是text()进行输入

$('#search').val(data);

$("#btn1").click(function(){
    $("#test1").text("Hello world!");
});
$("#btn2").click(function(){
    $("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
    $("#test3").val("Dolly Duck");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="test1">This is a paragraph.</p>
<button id="btn1">Set Text</button>
<p id="test2">This is another paragraph.</p>

<button id="btn2">Set HTML</button>
<p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p>


<button id="btn3">Set Value</button>
© www.soinside.com 2019 - 2024. All rights reserved.