2011-09-11 59 views
1

我有一個表單,用戶將輸入一個文本,當他提交表單時,我想要的文本必須被注入,我想,或者簡單地附加到像AJAX註釋這樣的頁面,但我的問題是我可以在頁面上看到消息。注入AJAX MooTools響應

我有代碼工作測試(我有警告消息和其他東西)。

這裏是我的代碼:

en4.questionanswer = { 

postAnswer : function() { 
    var mess = $('a_mess'); 
    var user_id = $('q_user_id'); 
    var question_id = $('question_id'); 
    //check if value is blank 

    //post Question 
    var request = new Request.JSON({ 
    'method' : 'post', 
    'url' : en4.core.baseUrl + 'question/postans', 
    'data' : { 
     'mess' : mess.value,    
     'question_id' : question_id.value         
    }, 
    'onComplete':function(responseObject) { 
     if(typeof(responseObject)!="object") { 
      //alert('ERR'); 
     } 
     else {         
      if (responseObject.result == "success") {       
      mess.value=''; //clear text after submiting 
      // en4.questionanswer.start("1"); 
      alert(responseObject.answer); 
      } 
      else {       
      alert(responseObject.message); 
      }    
     } 
     } 
    }); 
    request.send(); 
    } 
}); 

在PHP的一部分,我有:

echo json_encode(array("result" => "success", 
         "message" => "Post message successful!", 
         "answer" => $content)); 
+0

有人可以幫我嗎? –

+0

Firebug或其他工具是否會出現錯誤?此外,'mess.value ='';'應該寫成mess.erase('value');'。也許這可能是問題的一部分?否則,請嘗試http://jsfiddle.net,以便我們可以更好地調試腳本。 – Luwe

+0

你的意思是說你的問題是「......無法在頁面上獲取消息」?您的JavaScript沒有任何代碼嘗試將響應放入頁面。你可以給我們更多的細節,所以我們知道你想如何與DOM交互? – bejonbee

回答

0

如果responseObject.answer是你想在頁面中放置這將讓你開始了答案。

與功能的onComplete更換警報(responseObject.answer):

new Element('div': { 
    html: responseObject.answer, 
    class: 'optionalClassName' 
}).inject($(document.body)); 

你想例如任意選擇更換$(document.body的):

$('comments') 

$$('#comments .someOther > .selector') 

您提供的信息非常有限,所以如果我錯過了e標記我道歉,只是試圖指出你在正確的方向。