gpt4 book ai didi

javascript - Jquery 将值附加到文本区域在 ajax 第二次提交之前不起作用

转载 作者:行者123 更新时间:2023-12-02 20:24:30 25 4
gpt4 key购买 nike

我在表单中有一个 jquery jhtml WYSIWYG 编辑器,我需要手动将其输出附加到文本区域。该表单是通过 ajax 提交的。 updateText 函数被调用以获取所见即所得 div 中的内容并将其放置在文本区域中以允许 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 实际触发之前单击提交两次。有人有什么想法吗?

谢谢

最佳答案

当您点击提交时,会发生以下情况:

  1. 正在收集表单数据
  2. beforeSubmit 触发,收集的表单数据作为第一个参数传递
  3. 您正在更改 textarea 的值,但为时已晚,因为数据已经收集完毕

您应该修改 formData 对象,而不是更改 textarea 的值。

UPD。试试这个:

for (var i in formData) {
if (formData[i].name == '...name of your textarea here...') {
formData[i].value = ...wysiwyg's html...
}
}

更简单的是,删除隐藏的文本区域并使用它:

function updateText(formData, jqForm, options) {
formData.push({name: 'textarea_name', value: .... })
return true;
};

关于javascript - Jquery 将值附加到文本区域在 ajax 第二次提交之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com