调用客户端函数
calling a client side function
这个 Meteor 代码需要在 main.js 中定义的 header.js 中调用函数cleanSerializedArray();
,这两个文件都在客户端目录下。
浏览器控制台错误:
未捕获的引用错误: 未定义 cleanSerializedArray
但是当定义移动到同一个文件"header.js"时,控制台说
定义
为什么这两个不预期的结果,我希望看到该功能在两种情况下都有效?谢谢
'use strict';
Template.header.events({
'click .mainMenu': function () {
//control the footer visibility
if (Session.get('showMainMenu')) {
Session.set('showMainMenu', false);
} else {
console.log(cleanSerializedArray()); //<------- called
//Meteor.call('storeUserInputs', objArray);
Session.set('showMainMenu', true);
}
});
function cleanSerializedArray() {
return $('form').serializeArray().forEach(function (item) {
item.value = item.value.replace(/[^0-9a-zA-Z]/g, '');
});
}
>你会得到undefined
,因为Array.prototype.forEach
总是返回undefined
。
您可能希望将cleanSerializedArray
函数更改为:
function cleanSerializedArray() {
var array = $('form').serializeArray();
array.forEach(function (item) {
item.value = item.value.replace(/[^0-9a-zA-Z]/g, '');
});
return array;
}
至于你的ReferenceError
,这通常是由以下两种原因之一引起的:
范围:
window.addEventListener('DOMContentLoaded', function()
{
function myFunc(){ /* ... */ }
/* some code that uses myFunc */
});
/* myFunc is not available out here */
定时:
window.addEventListener('DOMContentLoaded', function()
{
window.myFunc = function(){ /* ... */ }
/* some code that uses myFunc */
});
/* myFunc is not available yet */
由于您似乎仅从事件处理程序调用该函数,因此范围问题比计时问题更有可能。
尝试将函数声明为:
window.cleanSerializedArray = function() {
// ...
};
相关文章:
- 如何在从客户端接收数据时从本机方法触发javascript函数?
- 如何从服务器向客户端调用函数?(远程功能调用)
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- 正在使用在服务器端或客户端执行的 Jquery 函数
- 将客户端 ID 从 GridView 中传递给 JavaScript 函数
- 使用Google应用程序脚本将数组传递给客户端函数
- 无法访问字段'通过aspx页面上的javascript函数传递来自代码隐藏中函数调用的客户端id的s值(页面加载
- 使用sails.js中的beforeConnect函数获取客户端套接字
- 将来自codeehind的值返回到客户端的jquery函数中
- Kendo mvc网格客户端模板javascript函数不起作用
- 节点 js 从客户端和另一个节点模块调用相同的延迟函数
- 自定义验证程序客户端验证函数未触发
- 如何将函数从 Node.js 服务器传递给客户端
- 调用客户端函数
- 如何在客户端函数行中创建的 RadGrid 的命令项模板中查找控件
- socket.io 客户端对象不是函数
- 需要客户端 javascript 函数来检查文本框中的数字
- 阻止 JavaScript “函数”在客户端上运行
- 将变量从 VB 函数传递到客户端 JavaScript
- 客户端 JavaScript 从服务器端文档集和获取函数接收过时的值