Как использовать JQuery ajaxForm с nicEdit? - PullRequest
0 голосов
/ 07 января 2010

Я использую функцию ajaxForm для отправки моей формы, в которой также есть редактор html nicEdit, но когда я впервые попытался отправить форму, содержимое nicEdit не включается ... Есть ли способ, которым я могу перехватить данные представлены, чтобы я мог редактировать данные формы? или, может быть, добавить значения в данные формы, прежде чем они будут отправлены? что-то вроде ...

var options = { тип: «бла» успех: бла, beforeSerialize: alterData } $ ( 'ла'). ajaxForm (опция)

function alterData (formdata) { // как добавление данных здесь formdata ['newdata'] = я новые данные! // затем возвращаем новые данные формы для отправки возвратные данные; }

Есть ли что-то похожее на это? Ценю всю помощь ...

Ответы [ 2 ]

0 голосов
/ 26 мая 2012

Вы можете использовать это ... Я уже пробовал, и это работает ..:)

например для загрузки файла, я заменяю функцию 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();


   });
 });

 },
0 голосов
/ 08 января 2010

Ну, я понял это всего час назад после публикации, так что если у кого-то есть такая же проблема, вот решение:

действительно есть опция 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 ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...