javascript - 来自 datepicker onSelect 的 Jquery ajax 调用消失了文本框

标签 javascript php jquery ajax datepicker

我有一个带有 datepicker jquery 插件的文本框。 当我选择一个日期时,发出 ajax 调用,我想从数据库返回一些数据,文本框应保留在页面顶部,以便也可以发出进一步的请求。

    <script>
        $(document).ready(function(){
        //create date pickers
            $("#datepicker").datepicker(
            { 
                changeMonth: true,
                changeYear: true,
                dateFormat: 'yy-mm-dd',
                onSelect: function(date)
                {
                    $.ajax({
                        type:"POST",
                        url:"seestuffs.php",
                        data:date,
                        success: function(result)
                        {
                              document.write(result);
                        }
                    });
                }
            });
        });
    </script>
    <body>
<p>Date: <input type="text" id="datepicker" name="date" /></p><br/>
    </body>

这是我的 seestuffs.php

<?php 

if(isset($_POST['date']))
{
    $date = $_POST['date'];
    echo 'hello';

}


?>

但是页面上没有显示你好。我哪里错了!!提前谢谢..

最佳答案

如果在已加载的文档上调用,document.write 将创建一个新文档。 这在这个问题中有解释:JavaScript Document.Write Replaces All Body Content When Using AJAX .

因此,您需要通过附加新节点或使用 innerHTML 将结果添加到文档中,例如:

success: function(result) {
   $('body').append('<p>'+result+'</p>');
}

关于javascript - 来自 datepicker onSelect 的 Jquery ajax 调用消失了文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18932305/

相关文章:

javascript - d3 图表的数据未从 json 绑定(bind)

javascript - React - useEffect() 中出现错误。这是否会使页面上的所有内容都进入无限循环?

javascript - 正则表达式在 javascript 中为 null 但在 php 中不是

php - 在 Laravel 中使用时区将默认数据库 DateFormat 设置为 ISO 8601

javascript - jQuery Append 删除/隐藏以前的对象

javascript - 为什么 funcname() = value;有效的语法?

php - 如果产品描述为空,WooCommerce 如何隐藏 "Description"选项卡

jquery - jQuery 中的 class 和 id 有什么区别?

javascript - 在jquery中动态获取输入值

javascript - 如何迭代 jQuery 选择器的结果?