2017-07-20 11 views
0

フォーム内にいくつかのテキストエリアをプリコンパイルしました。テキストエリア内のテキストは、ユーザーが変更し、AJAXが別のページに送信する必要があります。以下のような何か:.serialize()は正しいテキストエリアの内容を取得しません

  1. プリコンパイルテキスト:
  2. ユーザーの介入「これはプリコンパイルされたテキストである」:
  3. クリックボタン「これは私の介入とプリコンパイルされたテキストです」と
をAJAXフォームを送信

これはAJAXです:

function send() { 
    var data_form = $('#id_form').serialize(); 
    $.ajax({ 
    type: "POST", 
    url: "another_page.php", 
    data: data_form, 
    dataType: "html", 
    success: function(data) { 
    }, 
    error: function() { 
    } 
    }); 
} 

問題は、それが常に返すvar data_form = $('#id_form').serialize();であります(「これはプリコンパイルされたテキストです」)、ユーザーの操作を失います。なぜこの現象が起こっているのですか?シリアライズはフォーム要素の実際の値を取得しませんか?

EDIT

機能の送信は、()、彼はテキストエリアの内容を変更した後、このボタンをクリックし、ボタン

<a href="#" id="" onclick="send();" >SEND</a> 

ユーザーにクリックによって呼び出されます。

+0

'send()'関数を呼び出すことは一度だけ実行されます。最初は 'data_form'を' $( 'id_form) 'のシリアライズされたテキストに設定しています。コードを構造化した方法を自動的には更新しません。 – Kevin

+2

'send()'関数が呼び出される時期と方法を知る必要があります。あなたはより良い例を提供できますか?私は 'textarea'が更新される前にフォームをシリアライズしていると思われますが、あなたのコードを見ることなく私は理解できません。 – Moob

+0

私の質問を編集しました – user31929

答えて

0

私の誤解は、文字列を考慮しないことです。私のテキスト領域は、文字列で管理されています。テキスト領域内に直接更新を保存しません。tinyMCE.triggerSave();を最初に呼び出す必要があります。