<!--
function init() {
if (${! SME230FormBean.viewFlg && ! SME230FormBean.rawFlg}) {
inputChk_disableMinMax('${SME230FormBean.inChk_selChkType}');
<logic:notEmpty name="SME230FormBean" property="inChk_selCharKindType">
<logic:iterate id="inChk_selCharKindType" name="SME230FormBean" property="inChk_selCharKindType">
<c:if test="${inChk_selCharKindType == 'ALL'}">
inputChk_SelCharKindAll('ALL');
</c:if>
</logic:iterate>
</logic:notEmpty>
inputFld_disabled('${SME230FormBean.inFld_selFldType}');
defVal_disabled('${SME230FormBean.defVal_selUseType}');
}
if (${! SME230FormBean.viewFlg && SME230FormBean.rawFlg}) {
inputFld_disabled('${SME230FormBean.inFld_selFldType}');
defVal_disabled('${SME230FormBean.defVal_selUseType}');
}
viewFmt_disabled('${SME230FormBean.viewFmt_selUseType}');
default_disabled('${SME230FormBean.default_selUseType}');
}
//-->
以上代码是jsp中的。
<td>
<html:radio name="SME230FormBean" property="default_selUseType" value="0" onclick="default_disabled('0');" ><bean:message key="SME230.sequ.nouse" bundle="mi"/></html:radio>
<html:radio name="SME230FormBean" property="default_selUseType" value="1" onclick="default_disabled('1');" ><bean:message key="SME230.sequ.usesequ" bundle="mi"/></html:radio>
<html:radio name="SME230FormBean" property="default_selUseType" value="2" onclick="default_disabled('2');" ><bean:message key="SME230.sequ.useinde" bundle="mi"/></html:radio>
<html:select name="SME230FormBean" property="default_selFmtType" styleClass="selectBox2">
<html:optionsCollection name="SME230FormBean" property="default_pullDownList"/>
</html:select>
</td>
以上是jsp中的引用代码
function default_disabled(val){
var form = document.forms[0];
if(val == '0'){
form.default_selFmtType.disabled = true;
}else if(val == '1'){
form.default_selFmtType.disabled = true;
}else if(val == '2'){
form.default_selFmtType.disabled = false;
}
}
以上是onclick事件触发的js动作。
这是一段写在jsp中被注释掉的代码,最后两行是用来做一个下拉框的初始设定,控制初始时下拉框是活性的还是非活性的。
如果没有末尾的两行代码,js就不会起到应有的作用。不明白为什么备注是的代码还会起作用,求指教。
这种用法是一种以前的老技巧,现在有时候还能看到,但已经不常用了。
在浏览器的上古时代,各种浏览器对JS的支持各不相同,很多浏览器压根不支持JS,所以那些支持浏览器的厂商就制定了这么一种策略,在
<script>
标签中的<!--
会被忽略,而//-->
由于用了JS注释,所以也不会起作用,因此对支持JS的浏览器来说这两行并没有起到注释的作用。但是对不认识JS的浏览器来说就不一样了,它们会把<!--
当做HTML注释,然后由于不认识JS,所以最后的//-->
也并不会被当做JS注释,结果就是所有JS代码都被当成了HTML注释看待,变成普通的注释文本了。那时候,JS通常只是用来实现一些花哨的效果,表单验证时代都还没有开始,所以有没有JS实际上关系并不是很大,顶多就是没那么好看而已。
其实这种用法现在还有,比如严格模式就是由
"use stric"
这么一个字符串表示的,对于不支持严格模式的JS引擎来说这就是一个普通的字符串,但反之则是开启严格模式的命令。其他的例子还有IE注释等,都是用的这种策略。