我想编写一个javascript验证代码来验证必须选择f:selectItem之一,但我无法通过java脚本访问f:selectItem的checked属性。下面是我的 JSF 页面。
JSF 页面:-
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<f:view>
<body
<h:form styleClass="form" id="form1"">
<h:selectOneRadio id="searchType" value="#{auditTrailDTO.searchType}">
<f:selectItem itemLabel="Male" itemValue="m"/>
<f:selectItem itemLabel="FeMale" itemValue="f"/>
</h:selectOneRadio>
</h:form>
</body>
</f:view>
</html>
AuditTrailDTO.java:-
class AuditTrailDTO
private string searchType;
public String getSearchType() {
return searchType;
}
public void setSearchType(String searchType) {
this.searchType = searchType;
}
}
编辑:-
我已通过以下方式成功访问 f:selectItem。现在,当没有选择任何人时,它会按预期显示警报消息。但即使选择了第二个单选按钮,它也会显示警报消息。我在表单 onsubmit 属性上调用以下方法。请问有什么想法吗?
function validateForm(){
var searchType = document.getElementsByName("form1:searchType");
var a = !(searchType[0].checked);
var b = !(searchType[1].checked);
if(a&&b){
alert('Please select search type');
return false;
}
return true;
}