-2

I have this code that is working except 1 thing and that is the following:

When I type in the textbox a datepicker shows up, when the date is clicked the date is put in the textbox for example '27-05-2014'. Now this should filter the page with the right AJAX output when using code below. Unfortunately it doesnt. Any help is much apriciated.

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 Answers3

0

You didn't specified which datepicker plugin you using.

Though you have to make ajax call on the update event of datepicker rather on keyup event.

May be that can solve your problem.

Sagar Khatri
  • 1,004
  • 8
  • 23
-1

Try setting the content type

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

as far I know, if you dont set this, the server interprets this request as a normal post.

If this doesn't work, show what echo file_get_contents("php://input") is printing.

Fiambre
  • 1,939
  • 13
  • 23
  • Could you explain why I need to do this ? Thanks. – user3541335 May 27 '14 at 14:04
  • Check this post http://stackoverflow.com/questions/9254891/what-does-content-type-application-json-charset-utf-8-really-mean the content type is the way the server knows what type of content you are sending. – Fiambre May 27 '14 at 14:07
-1

Assuming you have all other codes correct in the php file, like out putting the result withn json_encode(), try changing the following code:

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

to:

$opts = (isset($_POST['filterOpts'])) ? $_POST['filterOpts'] : FALSE;
$val = (isset($_POST['text'])) ? $_POST['text'] : FALSE;
Ghost-Man
  • 2,179
  • 1
  • 21
  • 25