【问题标题】:datepicker icon vanish after update date or add datedatepicker 图标在更新日期或添加日期后消失
【发布时间】:2017-12-10 17:12:42
【问题描述】:

我有一个网页,当用户输入日期时,它会自动保存在数据库中。我还有一个日期选择器图标来选择日期。但是当我更新或按下添加按钮来添加新条目(或删除图标以删除特定条目)时,所有日期选择器图标都会消失。我刷新页面以使日期选择器图标再次出现。我认为 ajax 调用忽略了 javascript 日期选择器
HTML 代码:

echo "<td class='main'><input disabled id='".$row['a_id']."' class='apousies_edit datepicker' tabindex='$tabindex_counter'  onclick='update_record(event,this,&quot;apousies&quot;,&quot;$key&quot;,&quot;id&quot;,&quot;".$row['a_id']."&quot;)' value='$val'></td>";
                    $tabindex_counter++;

    echo "<button class='button4' onclick='new_record_adeia(&quot;$id&quot;);showDatePicker(tabindex)' value='Προσθήκη Άδειας'/><img src='add.png' width='40' height='40'></button>";   

Ajax 调用:

    function new_record_adeia(id) {

        loadXMLDoc("/prosopiko/add_rec_adeia.php?id="+encodeURIComponent(id),function()
                {
                      if (xmlhttp.readyState==4 && xmlhttp.status==200)

                        document.getElementById('apousies_edit').innerHTML=xmlhttp.responseText;


                })


    }

我用来添加日期的代码:

    session_start();
        include "classes.php";
        $functions=new classes;

        $id_proswpiko=trim($_REQUEST["id"]);
        $now=date('Y-m-d');
        $res=$functions->query("INSERT INTO apousies(id_proswpiko,id_logos,start_date,diarkeia,id_status_adeia) VALUES ('$id_proswpiko',1,'$now','4','1')");

        $functions->create_apousies_screen($id_proswpiko);

Jacascript code to show the datepicker I get it from this:
https://github.com/chrishulbert/datepicker/blob/master/datepicker.js

更新日期:

session_start();
include "classes.php";

$functions= new classes;

$table=trim($_REQUEST["table"]);
$field=trim($_REQUEST["field"]);
$val=trim($_REQUEST["val"]);
$check_field=trim($_REQUEST["check_field"]);
$check_var=trim($_REQUEST["check_var"]);    

$sql="UPDATE $table SET $field='$val' WHERE $check_field='$check_var'";

$result=$functions->query($sql);

出了什么问题,我的日期选择器不起作用?

【问题讨论】:

    标签: javascript php datepicker


    【解决方案1】:

    日期选择器图标在更新日期或添加日期后消失

    图标消失是因为日期选择器库在表单加载时设置日期选择器(特别是在DOMContentLoaded 事件触发时)。然后,使用更新的项目列表替换包含日期选择器图标的 HTML 的 ajax 调用。

    由于此时库已经完成了它的工作,新的 html 控件将不会获得日期选择器图标(也没有与该库相关的任何功能)。

    恕我直言,您有两种选择:

    • 修改库,以便添加一个setupPicker 方法,您可以在将HTML 替换为ajax 结果后手动调用该方法。

    • 使用已提供该功能的其他库。

    我会选择第二个选项,因为该库是 9yo,而 document.getElementsByTagName("*")(请参阅最后的源代码)看起来对性能非常不利。

    【讨论】:

    • 感谢 Roimer 的即时答复
    • 其他人有不同意见?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多