2012-02-09 115 views
0

你好家伙我试图改变一个选择框基于它旁边的文本框,我得到的对象预期?Javascript - 对象期望

JSP:

NSN:&nbsp;<input type="text" name="nsn" value=""/> 
TAMCN:&nbsp;<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>>&nbsp;</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> 
+0

你如何渲染'detSearchForm'表单到页面? – pete 2012-02-09 17:51:34

+1

我不认为在定义onkeyup处理程序时需要'javascript:'位。 – Herms 2012-02-09 17:56:12

+0

@pete我刚刚更新了问题 – 2012-02-09 19:17:43

回答

1

onkeyup(和其它在线活动)在他们面前做需要javascript:。那就是只有需要href属性的链接(或action在窗体上)。删除,你很好。

+0

,没有工作...我在其他地方做这个,它似乎工作 – 2012-02-09 19:58:27

相关问题