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

时间:2017-12-19 11:23:13

标签: javascript php jquery html

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

这是我的jquery

$errors = [];
foreach($validator->getMessageBag()->toArray() as $key=>$messages) {
    $errors[$key] = $messages[0];
}
return response()->json($errors, 200);

这是我的HTML

$('#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);
    });
    }
 });

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

3 个答案:

答案 0 :(得分:4)

HTML中有多个id="search"元素。所以这不知道你的意思是:

$('#search')

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

答案 1 :(得分: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);
    });
    }
 });

答案 2 :(得分:0)

.text无法使用输入

  

使用val()而不是text()作为输入

:ENDLOOP

$('#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");
});