未捕获的ReferenceError:addFriend未定义
Uncaught ReferenceError: addFriend is not defined
当通过html onClick调用调用时,我无法使javascript函数工作。呼叫代码为
<tr data-name="buttons" style="border-top: #FFF 1px Solid;margin-top:10px">
<td colspan="2"><a onClick="addFriend()" class="button"><?php echo $addFriend ?></a></td>
</tr>
代码下面的功能是
<script type="text/javascript">
var emailFriend = 1;
function addFriend(){
var html = '<tr id="friend' + emailFriend + '">';
html += ' <td><?php echo $friendEmail ?></td>';
html += ' <td>';
html += ' <input type="text" name="emailFriend[' + emailFriend + ']" data-name="emailFriend" size="60" />';
html += ' <a onClick="$(''#friend' + emailFriend + ''').remove()" class="emailRemove"></a>';
html += ' </td>';
html += '</tr>'
$('tr[data-name="buttons"]').before(html);
emailFriend++;
}</script>
但是,单击该按钮时,不会采取任何操作。Google Chrome控制台显示Uncaught ReferenceError:addFriend未定义。
我想要么是语法错误,要么是完全遗漏了什么。有什么想法吗?
我的猜测是,在脚本解析addFriend函数之前,脚本中出现了一个错误,这就是为什么没有定义它。通过注释掉除此函数之外的所有内容来测试它,看看它是否有效。然后开始添加碎片,直到崩溃。当它发生时,你就会知道真正的问题在哪里。
尝试将脚本块移动到<head>
部分,这样就可以确保在用户单击按钮之前加载此脚本。
使用一个工具,例如firebug,并在控制台中键入addFriend而不是addFriend()。然后你们会看到这个函数的类型。您也可以调用addFriend的类型。您应该将函数视为输出。最好是注释掉函数定义中的所有行,因为错误的顺序或错误的配对可能会导致js引擎出现问题。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- 未捕获的ReferenceError:addFriend未定义