2012-04-23 13 views
1

私のウェブサイトのコメントシステムで作業しており、フィールド全体の値を取得できません。Jqueryの入力の入力:出力データの問題

私は、関数valが値を返すものですhttps://github.com/podio/jquery-mentions-input

return { 
    init : function (options) { 
    settings = options; 

    initTextarea(); 
    initAutocomplete(); 
    initMentionsOverlay(); 
    }, 

    val : function (callback) { 
    if (!_.isFunction(callback)) { 
     return; 
    } 

    var value = mentionsCollection.length ? elmInputBox.data('messageText') : getInputBoxValue(); 
    callback.call(this, value); 
    } 
} 

このスクリプトを使用しています!

これは値を取得するために使用しているコードです。 (それは動作しません)

$('#commentInput').mentionsInput('val', function(comment){ var test = comment; }); 
    alert(test); 

私はそれはその後、私のデータベースに送信することができますので、この機能のうち、値のコメント/テストを抽出する方法を見つけるしたいと思います。

この次のコードを使用すると、アラートボックスに良好な情報が表示されます。

('#commentInput').mentionsInput('val', function(comment) { alert(comment); }); 

は、私が試してみて、それを動作させるためにいくつかの他の操作を試してみましたが、私はいつものようなエラーを得ていた[オブジェクトのオブジェクト]または[HTMLDivElement]

が、私はそれが愚かな簡単なものであるかなり確信しています、私はそれを理解することはできません。

希望誰かが私

を助けることができる良い一日を

ヨリス

答えて

0

ヨリス、

('#commentInput').mentionsInput('val', function(comment) { alert(comment); });は正しい製剤です。あなただけの、次のように、更なるステップを移動する必要があります:

sendToDatabaseがデータベースに(AJAXおよびサーバスクリプトを経由して)その引数とアップロードなどのコメント、それを受け入れる機能です
('#commentInput').mentionsInput('val', function(comment) { 
    sendToDatabase(comment); 
}); 

....何かをこのように:

function sendToDatabase(comment){ 
    $ajax({ 
     url: 'path/to/server/script', 
     type: "GET", //or "POST" 
     data: { "comment": comment }, 
     success: function(){ 
      //here display something to confirm that the upload was successful 
     }, 
     error: function(){ 
      //here display something to indicate that the upload was not successful 
     }, 
    }); 
} 
+0

ありがとう、それは完全に動作しています。しかし、私はまだ値を抽出して変数に入れることができないのはなぜだろうかと疑問に思っていますか? @ Beetroot-Beetrootにもう一度感謝し、良い一日を! –

+0

'.mentionsInput()'の2番目のパラメータとして定義された関数は、形式変数 'comment'を持つコールバック関数です。 「コメント」の範囲はコールバック関数に限定されています。 'comment'にアクセスしようとしていたところ、それは範囲外でしたが、まだ設定されていませんでした。 –