如何通过ajax发送或获取日期值

时间:2014-10-15 20:14:36

标签: javascript php jquery ajax

我需要使用AJAX向PHP发送一些值。我的代码适用于输入类型" text"但是" date"没有工作:(也许是因为我正在使用"序列化()"。我花了一整天来解决这个问题......我在JS和AJAX中假装我的想法***对我而言所以,如果你知道如何解决这个错误,我将非常感激!

我的代码HTML / JS:

  <form method="post" action="javascript:send('SendData.php','myform','result');" id="myform">
        <input type="text" name="whois" value="5" /><br/>
        <input value='2004-02-12' type='date' name="Date"><br/>
        <input type="button" value="Send" onClick="send('SendData.php','myform','result');" />
        </form>
<script type="text/javascript"> 
function send(url,form_id,result_div)
{
    $.ajax({
            type: "POST",
            url: "SendData.php",
            data: $("#"+form_id).serialize(),

            success: function(html) {
               $("#"+result_div).empty();
               $("#"+result_div).append(html);
            },
            error: function() {
               $("#"+result_div).empty();
               $("#"+result_div).append("ERROR!");
            }
     });

}
</script>

和PHP

<?php
    echo $_POST['whois'];  
    echo '<br>';
    echo $_POST['Date']; 
    ?>

4 个答案:

答案 0 :(得分:1)

您的代码适合我... http://jsbin.com/finomificoyo/1/edit显示两个带数据的POST

答案 1 :(得分:0)

我认为问题在于您使用

data: $("#"+form_id).serialize(),

获取您的&#34;数据&#34;值。但是你在代码中我看不到你的身份在哪里?

<input value='2004-02-12' type='date' name="Date"><br/>

我认为jQuery无法找到对象

$("#"+form_id)

试试这个

<input id="dataVal" value='2004-02-12' type='date' name="Date"><br/>

在Ajax中使用

data:$("dataVal").val();

仅执行测试:

alert($("dataVal").val());

答案 2 :(得分:0)

serialize()函数返回了get的字符串,但你需要使用serializeArray来获取数组中的所有表单数据并在后端发送如果你使用方法get你可以使用serlialize函数,但是你使用方法帖子,用于后期使用serilaizeArray()功能

jQuery('#myform').serializeArray()

答案 3 :(得分:0)

你缺少一些大括号,所以javascript可能实际上不会编译。 如果你看过,浏览器javascript调试器应该可以告诉你。

我不确定您是否使用旧的jquery库,但如果您使用的是相当新版本,请尝试使用。

function send(url,form_id,result_div)
{
    $.ajax({ type: "POST", url: "SendData.php", data: $("#"+form_id).serialize()})
      .done( function(html) {
           $("#"+result_div).empty();
           $("#"+result_div).append(html);
      })
      .fail( function() {
           $("#"+result_div).empty();
           $("#"+result_div).append("ERROR!");
      });
}
</script>