如何将参数从一个函数传递到下一个函数

How to pass parameters from one function to the next

本文关键字:函数 一个 下一个 参数      更新时间:2023-09-26

我在将id参数传递给流程函数时遇到问题。当我加载页面时,由于某种原因,它会自动运行,而无需单击提交按钮,然后如果我试图在表单上添加新信息,它不会起任何作用。我真的很想在提交时传递init函数的参数。

function process(first, last, dept) {
    'use strict';

     return false;
} // End of process() function.
// Initial setup:
function init() {
    'use strict';
    $('theForm').onsubmit = process('firstName', 'lastName', 'department');
} // End of init() function.
window.onload = init;

而不是进行

$('theForm').onsubmit = process('firstName', 'lastName', 'department');

进行

$('theForm').onsubmit = function(){
    process('firstName', 'lastName', 'department');
}

现在,您正在程序开始时调用流程函数,并将其返回值指定为onsubmit处理程序。最终,您当前的版本相当于:

process('firstName', 'lastName', 'department');
$('theForm').onsubmit = false;

相反,您想要做的是让onsubmit事件处理程序成为一个调用proccess的函数。

你也可以做…

$('theForm')
     .onsubmit = process.bind(window, 'firstName', 'lastName', 'department');

如果您的目标平台不支持bind(),您可以对其进行polyfill。