当我在 ajax 中传递 jquery datepicker 日期时,php 发现索引错误

Posted

技术标签:

【中文标题】当我在 ajax 中传递 jquery datepicker 日期时,php 发现索引错误【英文标题】:When I pass jquery datepicker date in ajax, php finds index error 【发布时间】:2019-05-19 15:50:12 【问题描述】:

这是我的 demo.php

<div class="form-message"></div>
<div class="input-group date" data-provide="datepicker">
    <input class="form-control" id="datepicker" name="ownerBdate" placeholder="Enter your Bday" type="text" data-date-end-date="0d" autocomplete="off"  required=""/>
    <label class="ownerBdayLabel">Birthday</label>
    <div class="input-group-addon">
        <span class="zmdi zmdi-calendar"></span>
    </div>
</div>
<div class="container-login100-form-btn">
    <div class="wrap-login100-form-btn">
        <div class="login100-form-bgbtn"></div>
        <button id="submit" class="login100-form-btn">Register</button>
    </div>
</div>
<script type="text/javascript">
    $(document).ready(function()
        $("#dateBirthday").datepicker(
            dateFormat: "dd-mm-yy",
            changeYear: true
    );
        $("#submit").click(function(event)
            event.preventDefault();
            var ownerBdate = $("ownerBdate").val();
            $(".form-message").load("demo-validator.php",
                ownerBdate : ownerBdate,
            submit : submit
            );
        );
    );
</script>

这里是 demo-validator.php

<?php 
if ($_SERVER['REQUEST_METHOD'] === 'POST')
    include_once 'includes/dbh.inc.php';
    $ownerBdate = $_POST['ownerBdate'];
    echo $ownerBdate;

?>

问题是当我单击提交按钮时,它给了我一个错误,它在我的 php.ini 中显示未定义的索引。我已经尽力了。

【问题讨论】:

请详细说明“尽我所能”。 喜欢 jquery 代码更改或 ajax 代码更改。甚至我尝试使用 'GET' 方法来传递值的 ajax。但它显示了 PHP 中的未定义索引。 请打开检查器并提供网络选项卡中的请求数据。可以肯定的是,这个问题出在 php 方面。什么是 submit : submit ? var submit 在哪里。在提供的 html 中也找不到 #dateBirthday 【参考方案1】:

请更改代码以使用 id 而不是名称 var ownerBdate = $("ownerBdate").val();和

var ownerBdate = $("#dateBirthday").val(); // check with console or alert value coming or not. 

您没有获得选定的日期值。

【讨论】:

感谢您的帮助,我已更正此部分。【参考方案2】:

提醒您的所有者日期:

var ownerBdate = $("ownerBdate").val();
alert(ownerBdate);

您的“提交”变量是什么?也定义它。

【讨论】:

感谢您的帮助。我已经发出警报,然后经过更多检查后,我发现了我的错误。【参考方案3】:

使用 jQuery 按名称选择项目:

var ownerBdate = $("[name ='ownerBdate']").val();

通过 id 选择元素:

var ownerBdate = $("[id ='ownerBdate']").val();

var ownerBdate = $("#datepicker").val();

【讨论】:

以上是关于当我在 ajax 中传递 jquery datepicker 日期时,php 发现索引错误的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax 传递 2 个数组,然后将它们拆分并在 laravel 中分别使用

从 Django 中的 JsonResponse 中提取字段值并将其传递给 Ajax Jquery

在 Jquery ajax 调用上传递多个参数时出错?

通过 GET json 传递给 ajax jquery,

从 JQUERY 传递数据 | AJAX 处理 ASP.NET

无法将参数从 jquery ajax 传递到 c# 后面的代码