1

我有一个带有 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';

}


?>

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

4

1 回答 1

2

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

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

success: function(result) {
   $('body').append('<p>'+result+'</p>');
}
于 2013-09-21T12:48:47.943 回答