I’m having trouble getting a AJAX/JSON function to work correctly. I had this function grabbing value from a drop down box but now I want to use an anchor tag to set it's value.
I thought it would be easy to just use the onClick event to pass string to the function I was using for the drop down box but it doesn’t do anything. I’m stumped! Here how I set it up:
1st I add an onClick event…
<a href="<?php echo Settings::get('app.webroot'); ?>?view=schedule&action=questions" onmouseout="MM_swapImgRestore();" onmouseover="MM_swapImage('bre','','template/images/schedule/bre_f2.gif',1) onclick="assignCallType('testing')";>
2nd I check main.js.php
function assignCallType(type) {
alert(type); //just for debugging
new Request.JSON({
url: "ajax.php",
onSuccess:
function(rtndata,txt){
if (rtndata['STATUS'] != 'OK')
alert('Error assigning call type to call');
},
onFailure:
function (xhr) {
alert('Error assigning call type to call');
}
}).get({
'action': 'assignCallType',
'call_type': type
});
}
3rd Ajax.php: the variable is back in PHP and values don’t get added to the db, but I also didn’t get the alert from main.js.php
if ($_GET['action'] == "assignCallType") {
if ($USER->isInsideSales()) {
$call_type = $_GET['call_type'];
$_SESSION['callinfo']->setCallType($call_type);
$_SESSION['callinfo']->save($callid);
echo json_encode(array('STATUS'=>'OK'));
} else {
echo json_encode(array('STATUS'=>'DENIED'));
}
}
Any idea where I am going wrong. The only difference between this and the working drop down is how the function was called, I used onchange="assignCallType(this.value)"
.