0
你好家伙我试图改变一个选择框基于它旁边的文本框,我得到的对象预期?Javascript - 对象期望
JSP:
NSN: <input type="text" name="nsn" value=""/>
TAMCN: <input type="text" id="tamcn" name="tamcn" value="" size="6" maxlength="5" onkeyup="javascript:tamcnSearchUpdated(this.value,'detSearchForm')" onkeypress="javascript:return noenter();" autocomplete="off" />
<select id="tamcnList" name="tamcnList" onchange="javascript:this.form.tamcn.value = '';">
<option value=""<c:if test="${empty form.tamcnList}"> selected="selected"</c:if>> </option>
<c:forEach var="tamcn" items="${tamcns}"><option value="${tamcn.code}"<c:if test="${tamcn.code == form.tamcnList}"> selected="selected"</c:if>>${tamcn.code}</option></c:forEach>
JAVASCRIPT:
function tamcnSearchUpdated(tamcn, formName){
var tamcnUpper = tamcn.toUpperCase();
document.forms[formName].elements.tamcn.value = tamcnUpper;
var len = tamcn.length;
if (tamcnUpper.indexOf('*') >= 0)
{
document.forms[formName].elements['tamcnList'].options[0].selected = 'selected';
return;
}
for (var i = 0; i < document.forms[formName].elements['tamcnList'].options.length; i++)
{
if (document.forms[formName].elements['tamcnList'].options[i].text.substr(0,len) == tamcnUpper)
{
document.forms[formName].elements['tamcnList'].options[i].selected = 'selected';
return;
}
}
document.forms[formName].elements['tamcnList'].options[0].selected = 'selected';
}
我得到对象预期在这里:
onkeyup="javascript:tamcnSearchUpdated(this.value,'detSearchForm')"
这个页面被称为filters.jsp,是一个包括在一个母版页上表格设置:
<form action="process.det_details" method="get" name="detSearchForm">
<table class="data_table" width="100%">
<!--<jsp:include page="../../jsp/det/data_extract_favorites.jsp" flush="false"/> -->
<jsp:include page="../../jsp/det/data_extract_fields.jsp" flush="false"/>
<jsp:include page="../../jsp/det/data_extract_size.jsp" flush="false"/>
<jsp:include page="../../jsp/det/data_extract_filters.jsp" flush="false"/>
<jsp:include page="../../jsp/det/data_extract_results.jsp" flush="false"/>
</table>
</form>
你如何渲染'detSearchForm'表单到页面? – pete 2012-02-09 17:51:34
我不认为在定义onkeyup处理程序时需要'javascript:'位。 – Herms 2012-02-09 17:56:12
@pete我刚刚更新了问题 – 2012-02-09 19:17:43