【问题标题】:Datepick value Javascript into phpDatepicker 值 Javascript 转换为 php
【发布时间】:2015-01-09 09:47:55
【问题描述】:

我正在尝试制作一个可以将通话记录加载到 Excel 中的工具。 为此,我正在使用 API。 这很完美。但是,要获取通话记录,用户必须设置一个日期。我确实为此使用了 Datepick。

<script>
$(function () {

    $(".datepick2").datepicker({
        'dateFormat': 'd/m/y'
    });

});
</script>

因为它在 foreach 循环中,所以代码是这样的:

<?php
echo "<table>
    <thead>
    <tr>
    <td>Name</td>
    <td>Last Name</td>
    <td>Email</td>
    <td>Extension</td>
    <td>Numbers</td>
    <td>Datum</td>
    </tr>";
foreach ($response as $key => $value) {

    echo "<tr>"
    . "<td>" . $value['fname'] . "</td><td>" . $value['lname'] . "</td>"
    . "<td>" . $value['email'] . "</td>"
    . "<td>" . $value['ext'] . "</td>"
    . "<td>";
    foreach ($value['numbers'] as $key2 => $numvalue) {
        echo $numvalue;
    }
    echo "</td>";
    echo "<td>";
    echo("<form action='" . $_SERVER['PHP_SELF'] . ">' method='post'> <input type='button' name='tijd' class='datepick2' value='Get call history'></form>");
    echo "</td>";
}
    $tijd = $_POST['tijd'];

                if($_SERVER['REQUEST_METHOD'] == 'POST') {
                    if ($_POST['tijd']) {
                        echo "hi"; //debugging
                    }
                }   

如您所见,输入是一个按钮,而不是提交。我也尝试过使用提交,但是当我点击按钮时它给了我一个错误。

    echo("<form action='" . $_SERVER['PHP_SELF'] . ">' method='post'> 
<input type='button' name='tijd' class='datepick2' value='Get call history'></form>");

我希望代码选择一个日期并将其转换为 php 中的变量。

我不知道该怎么办

$tijd = $_POST['tijd'];

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($tijd) {
        echo "hi"; //debugging
    }
}

肯定有问题,但是我什么都看不到

我知道您可能对这个问题有些困惑,所以我决定上传一张图片。

http://i.imgur.com/uZuRgMs.png

【问题讨论】:

    标签: javascript php jquery datepicker


    【解决方案1】:

    我在您的代码中的任何地方都没有看到 ajax,而且我不确定您想要实现什么。如果您使用“按钮”输入类型,我假设您想使用 jQuery 与服务器端交互,因为使用“按钮”您无法提交表单。我只看到一些 jQuery 和 php。 PHP 在服务器上运行,没有$.ajax() 就无法处理实时操作。当您选择日期时,您必须通过 javascript 获取它的值。然后通过jQuery.ajax() 将值发送到服务器。像这样的:

    //in the action you select the date:
    $("button").click(function(){
    $.ajax({
     type: "POST",
     url: "convert.php",
     data: {date: theDateIPicked},
    
    }).done(function(data){
         //do our stuff we want after we got back the value from the php
       });
    });
    

    希望对你有帮助。

    【讨论】:

    • 我认为我必须使用按钮,因为 PHP 将无法获取日期并将它们放入变量中,对吗?正如您在图像上看到的,用户必须设置一个日期并单击获取通话记录,即顶部的提交按钮。这会将用户重定向到 Excel,XML 文件将在其中加载有关通话历史记录的信息。
    • @HaltlolXD 我记得,HTML5 有一个日期类型的表单元素。它是一个简单的日期选择器,就像 javascript 一样,但由于它是一个表单元素,php 可以将它的值存储在 $_GET/$_POST 中(取决于表单方法)。我从未使用过它,但我认为它存储为时间戳。如果你因为某些原因不能使用它,上面的代码可以帮助你。编辑:您必须使用 来使用 html5。
    • 感谢 cmets 和代码:) 我会检查你告诉我的 html,我完全忘记了 html 中也有一些东西。但是我需要获取它的unix时间戳,但这很容易解决。关于您的代码的问题是,我在 Javascript 和 Ajax 方面是全新的,我在这些代码方面遇到了很多困难
    • @HaltlolXD jQuery 比原生 Javascript 简单得多。在 javascript 中,上面的代码大约需要 30 行。
    • input type=date 的 html 变体不适用于 IE :( 将使用它的公司只适用于 Microsoft awh
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2016-02-20
    相关资源
    最近更新 更多