我在表单中有一个jquery jhtml WYSIWYG编辑器,我需要手动将其输出附加到textarea。表格是通过ajax提交的。调用updateText函数来获取wysiwyg div中的whats并将其放在textarea中以使ajax能够发送它。我正在使用ajaxForm“beforeSubmit”回调来触发此函数。
//For Ajax Form
$('#addFaci').ajaxForm({
beforeSubmit: updateText,
success: function(response) {
eval(response);
}
});
function updateText(formData, jqForm, options){
var save = '#detail';
$(save).val($(save).htmlarea("toHtmlString"));
return true;
};
这不适用于第一次提交...您必须在updateText实际触发之前单击提交两次。有没有人有任何想法?
谢谢,
答案 0 :(得分:2)
当你点击提交时,会发生这种情况:
您应该修改formData对象,而不是更改textarea的值。
UPD。试试这个:
for (var i in formData) {
if (formData[i].name == '...name of your textarea here...') {
formData[i].value = ...wysiwyg's html...
}
}
更简单,删除隐藏的textarea并使用:
function updateText(formData, jqForm, options) {
formData.push({name: 'textarea_name', value: .... })
return true;
};