Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery将值附加到textarea直到ajax第二次提交才起作用_Javascript_Jquery_Ajax_Ajaxform_Jhtmlarea - Fatal编程技术网

Javascript Jquery将值附加到textarea直到ajax第二次提交才起作用

Javascript Jquery将值附加到textarea直到ajax第二次提交才起作用,javascript,jquery,ajax,ajaxform,jhtmlarea,Javascript,Jquery,Ajax,Ajaxform,Jhtmlarea,我在表单中有一个jqueryjhtml所见即所得编辑器,我需要手动将其输出附加到文本区域。表单正在通过ajax提交。调用updateText函数获取所见即所得div中的内容,并将其放置在文本区域中,以使ajax能够发送它。我正在使用ajaxForm“beforeSubmit”回调来启动此函数 //For Ajax Form $('#addFaci').ajaxForm({ beforeSubmit: updateText, success: function(re

我在表单中有一个jqueryjhtml所见即所得编辑器,我需要手动将其输出附加到文本区域。表单正在通过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实际启动之前,必须单击提交两次。有人有什么想法吗


谢谢,

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

  • 正在收集表格数据
  • beforeSubmit激发,并将收集的表单数据作为第一个参数传递
  • 您正在更改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;
    }; 
    

    非常感谢你的解释。这确实有道理。由于文档()和()中的所有示例都显示formData是读取的,然后根据验证返回true或false,因此我仍在努力修改formData。你知道我怎么修改这个对象吗?非常感谢。我使用了你的第二个选项,效果非常好:)