我想调用一个函数但是我得到的错误是“JavaScript运行时错误:'a'未定义”。我无法更改删除“$(”,因为它会破坏我的其他代码,我需要能够在函数内部获取var。
<input name="searchTxt" type="text" maxlength="512" id="searchTxt" class="searchField"/>
<input type="button" onclick="a()" name="add" value="Add input field" />
<script type="text/javascript">
$(function a () {
var n = document.getElementById("searchTxt").value;
});
</script>
答案 0 :(得分:2)
你应该把你的script
放在头部而不是body
,因为你正在使用jQuery的DOM就绪处理程序。
此外,您应该提取命名函数表达式。
<script>
function a() {
var n = document.getElementById("searchTxt").value;
}
$(a);
</script>
答案 1 :(得分:1)
当你将一个函数传递给jQuery的main函数时,jQuery会绑定这个函数,以便在DOM加载完成时执行,但是这个函数在全局范围内是不可访问的。
如果你已经使用过jQuery,你可以试试这样的东西:
<script>
function a(){
var n = $("#searchTxt").val();
}
<script>
答案 2 :(得分:1)
虽然上面的答案已经解决了主要问题,但我根本不喜欢HTML中的任何JavaScript,甚至连呼叫都没有。 我可以建议以下编辑
$(function a() {
$("input[name='add']").on("click", function() {
var n = $("#searchTxt").val();
});
});
这有以下目的 -