0

ajaxForm 関数を使用して、nicEdit html エディターを含むフォームを送信していますが、初めてフォームを送信しようとしたときに、nicEdit のコンテンツが含まれていません... 送信されたデータを傍受できる方法はありますか?フォームデータを編集できますか? または、実際に送信される前にフォームデータに値を追加しますか? 何かのようなもの...

var options = { type: 'blahblah', success: blahblah, beforeSerialize: alterData } $('bla').ajaxForm(options)

function alterData(formdata){ // ここにデータを追加するように formdata['newdata'] = 新しいデータです! // 次に、送信用の新しいフォーム データを返します return formdata; }

これに似たものはありますか?すべての助けに感謝します...

4

2 に答える 2

0

これを投稿してからちょうど1時間前にそれを理解したので、誰かが同じ問題を抱えている場合、ここに解決策があります:

本当に beforeSerialize オプションがあります!

...
beforeSerialize: alterData
...

function alterData(formData,options){
  var nicEdit_content = nicEditors.findEditor('id_of_textarea').getContent();
   formData.each(function(){
        $(this).find('#gth_text').val(nicEdit_content);
    })
  return true; // Return true to go back to  normal processing!
}

わたしにはできる!おそらく、fckeditor、tinymce blah blah などの他のオンライン HTML エディターでも同じことができます。

于 2010-01-07T23:48:33.550 に答える
0

あなたはこれを使うことができます...私はすでに試しましたが、うまくいきます.. :)

たとえば、ファイルのアップロードの場合、addForm 関数を置き換えます...

 nicURI : 'upload-foto.php', <!-- for upload, just echo for response file path -->

 addForm : function() {

 var formHTML = '<div id="pageForm"><form method="post" action="'+this.uri+'"><div style="font-size: 14px; font-weight: bold; padding-top: 5px;">Insert an Image</div><input id="upload_foto" name="upload_foto" type="file" style="margin-top: 10px;" /></form></div><div id="pageLoad" style="display: none;"><img src="http://files.nicedit.com/ajax-loader.gif" style="float: right; margin-right: 40px;" /><strong>Uploading...</strong><br />Please wait</div>';

 var goo = this;
 this.ne.selectedInstance.restoreRng();

 $(function() { 

   $(this).find('#forUpload').append(formHTML);

   $(this).find('#forUpload').find('#upload_foto').change(function(data) { 

     var thiP = $(this);
     $(this).parents('#forUpload').find('#pageForm').hide();
     $(this).parents('#forUpload').find('#pageLoad').show();

     $(this).parents('form').ajaxForm(function(data) { 

        thiP.parents('#forUpload').find('#pageForm').show();
        thiP.parents('#forUpload').find('#pageLoad').hide();
        var tmp = data;
        goo.ne.nicCommand("insertImage",tmp);
        goo.im = goo.findElm('IMG','src',tmp);

     }).submit();


   });
 });

 },
于 2012-05-26T10:31:20.440 に答える