0

我有一个使用 onload 事件的函数,可以说它看起来像这样

var doOnload = function(){
    onload = function(){
        //do stuff and return data
        return data;
    }
    onerror = function(){
        //handle error
        return errormsg;
    }
}

一开始我使用了 console.log 输出,但现在我需要处理数据。doOnload 函数由另一个函数调用。这个其他函数创建一个 iframe 并将数据写入表单,这与其他函数一起工作正常。现在填写表格后,我想通过 POST 发送数据。这也工作正常。只有 doOnload 函数返回“未定义”。

iframe/form-filling 函数看起来像这样:

//...

input = this.createInputElement('nameOfField1',
  function1());
form.appendChild(input);

input = this.createInputElement('nameOfField2',
  doOnload());
form.appendChild(input);
// ...
form.appendChild(input);
form.submit();

并在最后提交表格。

函数 'createInputElement(name, value)' 创建一个具有 name 和 value 属性的输入 DOM 元素并返回该元素。我尝试使用回调,但我没有让它工作/做错了什么。我没有太多使用回调的经验。

这是 createInputElement 函数的样子:

this.createInputElement = function(name, value) {
    var input = document.createElement("input");
    input.name = name;
    input.value = value;
    return input;
}

请只在 js 中提示而不是在 jQuery 中提示,谢谢。

那么如何在 onload 事件完成并将数据写入表单元素后发送 Post 呢?

提前致谢!

问候,大卫

4

0 回答 0