0

我正在使用 ajaxForm 函数提交具有 nicEdit html 编辑器的表单,但是当我第一次尝试提交表单时,nicEdit 的内容不包括在内...有没有办法可以拦截提交的数据所以我可以编辑表单数据?或者可能在实际提交之前向表单数据添加值?就像是...

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

function alterData(formdata){ // 就像在这里添加一个数据 formdata['newdata'] = im a new data!// 然后返回提交的新表单数据 return formdata; }

有没有类似的东西?感谢所有的帮助...

4

2 回答 2

0

好吧,我在发布此消息后一个小时前就知道了,所以如果有人遇到同样的问题,这里是解决方案:

确实有一个 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!
}

这个对我有用!您可能可以对其他在线 html 编辑器执行相同操作,例如 fckeditor、tinymce blah blah..

于 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 回答