【问题标题】:How to use JQuery ajaxForm with nicEdit?如何在 nicEdit 中使用 JQuery ajaxForm?
【发布时间】:2011-01-02 16:01:19
【问题描述】:
我正在使用 ajaxForm 函数提交我的表单,该表单也具有 nicEdit html 编辑器,但是当我第一次尝试提交表单时,nicEdit 的内容不包括在内...有没有办法可以拦截提交的数据,以便我可以编辑表单数据?或者可能在实际提交之前向表单数据添加值?类似...
var 选项 = {
类型:'blahblah',
成功:废话,
序列化之前:alterData
}
$('bla').ajaxForm(options)
函数 alterData(formdata){
// 就像在这里添加数据
formdata['newdata'] = 我是一个新数据!
// 然后返回新的表单数据进行提交
返回表单数据;
}
有类似的吗?感谢所有帮助...
【问题讨论】:
标签:
jquery
serialization
alter
【解决方案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!
}
它对我有用!您可能也可以使用其他在线 html 编辑器,例如 fckeditor、tinymce blah blah..
【解决方案2】:
你可以用这个...
我已经尝试过了,它有效.. :)
例如文件上传,我替换 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();
});
});
},