我隱藏默認複選框,並使用一個div定製複選框圖片來代替:變化的背景圖像時復選框被選中
<aui:form>
<c:if
test="<%=company.isAutoLogin() && !PropsValues.SESSION_DISABLED%>">
<div class="rememberImage ftr" id="rememberImg">
<aui:input checked="<%=rememberMe%>" name="rememberMe" id="rememberMe"
type="checkbox" cssClass="remember"/>
</div>
</c:if>
</form>
//omiited
<aui:script use="aui-base">
function changeBG() {
if (this.checked) {
document.getElementById('rememberImg').style.backgroundImage = 'url(../img/chk_none.png)';
} else {
document.getElementById('rememberImg').style.backgroundImage = 'url(../img/chk_check.png)';
}
}
document.getElementById('_58_rememberMe').addEventListener('change', changeBG);
var password = A.one('#<portlet:namespace />password');
if (password) {
password.on(
'keypress',
function(event) {
Liferay.Util.showCapsLock(event, '<portlet:namespace />passwordCapsLockSpan');
}
);
}
</aui:script>
這並不在所有的工作。有什麼建議麼??非常感激!
更新:增加更多的代碼,我想也許有問題
請提供jsfiddle – Alex
它做什麼或不做什麼?有沒有任何控制檯輸出?從哪裏調用JavaScript,在您提供的HTML中似乎沒有任何參考。 – blm
你應該添加onchange事件監聽器,所以你的條件語句不會是靜態的並且與用戶活動相關 – markoffden