1

首先,我使用的是codeigniter框架,我是JS和AJAX的初学者,所以请多多包涵。

我读了这个 问题,所以我试图遵循答案。

这是脚本(更新)

 $(function() {
            $( "#datepicker").datepicker().click(function() {
            $.ajax({
                type: 'POST',
                url: "<?php echo base_url(); ?>backend/umat/add",
                dataType: "json",
                data: $('#form_daftar').serialize(),
                success: function(data) {
                    console.log("Done");

                }
            });
            return false;
            });
        });

这是我的日期选择器 HTML 代码:

<input type="text" id="datepicker" name="datepicker"
value="<?php echo isset($umat['tanggal_lahir'])?$umat['tanggal_lahir']:""?>"/>

我的问题是(更新)

  1. 我在上面的 AJAX 中提供的 URL 是否正确?
  2. 我应该如何将数据从 AJAX 传递到 PHP ( url: "<?php echo base_url(); ?>backend/umat/add")?

感谢您的帮助:D

4

3 回答 3

2

你在这里错过了什么:

  1. 您的点击事件在文档就绪处理程序之外,它应该在文档就绪内部,以便当页面准备好时,元素应该可以点击。
  2. 您错过了});点击事件的结束标记。(虽然没关系

所以试试这个:

    $(function() {
        $( "#datepicker").datepicker();

        $("#datepicker").click(function() {
          $.ajax({
              type: 'POST',
              url: "<?php echo base_url(); ?>backend/umat/add",
              dataType: "json",
              data: {frmData : $('#form_daftar').serialize()}, // <----send this way
              success: function(data) {
                  console.log(data.date);
                  // here data is the returned data from the specified url and make sure
                  // that url is generating a proper json structrue.
                  // suppose there is a key named date which holds the submitted date so
                  // data.date will get you the date.
              }
           });
        }); //<----you missed this closing of click function.
    }); //<----------put everything before this closing of doc ready handler.

尽管您也可以像这样链接它:

$(function(){
   $( "#datepicker").datepicker().click(function() {
       //......ajax function in click here
   });
});

在此处查看演示

于 2013-05-15T05:11:33.930 回答
1

另一种方法是使用 datepicker 内置方法来触发 ajax 请求,例如

$('#datepicker').datepick({
      dateFormat:"yyyy-mm-dd",
      onSelect:function(){
          $.ajax({
             type: 'POST',
             url: "<?php echo site_url('backend/umat/add'); ?>",
             dataType: "json",
             data: $('#form_daftar').serialize(),
             success: function(data) {
                 console.log("Done");
             }
          });                                   
      }
}); 

使用 datepicker js 检查手动或内置函数和回调。

于 2013-05-15T05:27:18.900 回答
1

试试看:

$(function() {
            $( "#datepicker").datepicker();         
            $("#datepicker").change(function() {
                $.ajax({
                    type: 'POST',
                    url: "<?php echo base_url(); ?>backend/umat/add",
                    dataType: "json",
                    data: $('#form_daftar').serialize(),
                    success: function(data) {
                        console.log("Done");

                    }
            });
        });

php从ajax获取数据:

<?php
$date = $_POST["datepicker"];
?>
于 2013-05-15T05:46:50.460 回答