2010-04-26 61 views
0

我無法使AJAX/JSON函數正常工作。我從一個下拉框中獲得了該函數的抓取值,但現在我想使用錨標籤來設置它的值。將字符串傳遞給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')";> 

第二我檢查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)"

回答

0

你已經錯過了 「

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

應該有一個」 末

+0

你是對的!現在我收到警報,但JSON請求在onFailure中返回錯誤消息。 – Mikey1980 2010-04-26 15:11:59

+1

酷:) 這位是一個全新的水壺!爲該問題提交一個新問題,以明確您的要求等等,並讓更多開發人員進行調查。但是,您是否考慮過jQuery的get/post方法? – Tim 2010-04-26 15:18:40

+0

更新:即使它返回一個錯誤,數據是在mysql?嗯..任何想法? – Mikey1980 2010-04-26 15:19:16

0

在你的錨你有一個放錯位置的分號:

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

這可能會導致你的問題。