передача строки в функцию AJAX / JSON - PullRequest
0 голосов
/ 26 апреля 2010

У меня проблемы с настройкой функции AJAX / JSON для правильной работы. У меня была эта функция, получающая значение из выпадающего списка, но теперь я хочу использовать тег привязки, чтобы установить его значение.

Я думал, что было бы просто использовать событие onClick для передачи строки в функцию, которую я использовал для выпадающего списка, но она ничего не делает. Я в тупике! Вот как я это настроил:

1-й я добавляю событие onClick…

<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')";>

2-й я проверяю 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
        });    
    }

3-й Ajax.php: переменная вернулась в PHP и значения не добавляются в БД, но я также не получил предупреждение от 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'));
    }
}

Любая идея, где я иду не так. Единственная разница между этим и рабочим раскрывающимся списком состоит в том, как была вызвана функция, я использовал onchange="assignCallType(this.value)".

Ответы [ 2 ]

0 голосов
/ 26 апреля 2010

Вы пропустили "

   onmouseover="MM_swapImage('bre','','template/images/schedule/bre_f2.gif',1) 

должно иметь "в конце"

0 голосов
/ 26 апреля 2010

В вашем якоре есть неправильная точка с запятой:

... onclick="assignCallType('testing')";>

Что может вызывать у вас проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...