2013-07-25 163 views
0

爲什麼我得到了一個未定義http://jsfiddle.net/Arandolph0/8eukN/3/功能未定義的JS

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<form id="frmcheckbxs" >  
    <c:set var="recordCount" value="2"/> 
    <input type="checkbox" id="chkRefId${recordCount}" onclick="checkRushed ('frmcheckbxs','chkRefId','2')" /> 
    <input type="checkbox" id="chkRefId1" /> 
</form> 

我檢查,並沒有看起來是類似的東西似乎是功能一個錯字的功能。

+0

您的jsFiddle設置爲執行'onLoad',這意味着您的JavaScript代碼將被放在'window.onload = function(){/ *代碼這裏* /};'中。這看起來是全球性的嗎? – Ian

+0

重複的[簡單的例子不工作JSFiddle](http://stackoverflow.com/questions/5431351/simple-example-doesnt-work-on-jsfiddle) – Bergi

回答

2

您已將JSFiddle設置爲將所有JavaScript包裝在onload事件處理函數中。

checkRushed是在該函數內部定義的,所以它的作用範圍是該函數並且不可用作爲全局函數。

將您的事件處理程序與addEventListener(或您選擇的幫助器函數(如果您使用抽象的幫助器函數)綁定)而不是使用內部事件屬性。

+0

所以我試過這個,但它只是禁用它不重新啓用http://jsfiddle.net/Arandolph0/jxjW9/11/ –

+1

事件對象沒有值,HTMLInputElement會這樣做,因此您希望使用'this'而不是'e'。雖然輸入的值不會「關閉」,但您尚未設置任何值。你想檢查'checked'屬性,這將是一個布爾值。 – Quentin

+0

@AprilRandolph:'.disabled'屬性必須設置爲布爾型!你的琴絃都是真的。你可能想要像http://jsfiddle.net/jxjW9/12/ – Bergi