文本框不适用于日期输入

时间:2014-05-27 13:54:15

标签: javascript php ajax

我有这个代码正在工作,除了1件事,以下是:

当我在文本框中键入日期选择器时,单击日期时,日期将放在文本框中,例如'27 -05-2014'。现在,当使用下面的代码时,这应该使用正确的AJAX输出过滤页面。不幸的是它没有。任何帮助都很多。

JavaScript的:

$('#boekingsnummer_1').keyup(function(){        
    updateEmployeesText($(this).val(),'boekingsnummer');        
});

$('#huiscode_1').keyup(function(){        
    updateEmployeesText($(this).val(),'huiscode');        
});

function updateEmployeesText(val,opt){        
    $.ajax({
    type: "POST",
    url: "submit.php",
    dataType : 'json',
    cache: false,
    data: {text: val, filterOpts:opt},
    success: function(records){
        $('#employees tbody').html(makeTable(records));
    }        
}); 
}

PHP:

$opts = (isset($_POST['filterOpts']) ? $_POST['filterOpts'] : FALSE);
$val = (isset($_POST['text']) ? $_POST['text'] : FALSE);

if (($val != FALSE) && ($opts == "boekingsnummer")){
  $where = " WHERE boekingsnummer LIKE '".$val."%'";
}elseif (($val != FALSE) && ($opts == "huiscode" )){
  $where = " WHERE huiscode LIKE '".$val."%'";
}

3 个答案:

答案 0 :(得分:0)

您没有指定您使用的是哪个datepicker插件。

虽然您必须在datepicker的更新事件上进行ajax调用,而不是在keyup事件上。

可能会解决您的问题。

答案 1 :(得分:-1)

尝试设置内容类型

contentType: "application/json; charset=utf-8"

据我所知,如果您不设置此项,服务器会将此请求解释为普通帖子。

如果这不起作用,请显示正在打印的echo file_get_contents("php://input")

答案 2 :(得分:-1)

假设您在php文件中有所有其他代码正确,例如将结果与json_encode()放在一起,请尝试更改以下代码:

$opts = (isset($_POST['filterOpts']) ? $_POST['filterOpts'] : FALSE);
$val = (isset($_POST['text']) ? $_POST['text'] : FALSE);

为:

$opts = (isset($_POST['filterOpts'])) ? $_POST['filterOpts'] : FALSE;
$val = (isset($_POST['text'])) ? $_POST['text'] : FALSE;