<form action="" name="theForm" method="post">
...code for dropdown menus initialized to empty...
<td colspan="1" width="250">
<input type="text" id="CAPS_CODE" name="CAPS_CODE" value=""
onchange="setF('LALA', this.value)" size="20" maxlength="20"/>
<div style="display:none;" id="CAPS_CODE$err">
<span style="color: #FF0000; font-family: Arial,
Helvetica, sans-serif; font-size: 10px;
font-weight: bold; text-decoration: none;">
</span>
</div>
</td>
`....form submit button in HTML and function call here - legacy code that works...`
</form>
基本上这是一个输入文本框。当我输入“BMW
”并将光标移动到文本框外部时,它会将下拉菜单填充到某些值。这就是我理解的onchange
。我提交表单,页面重新加载。
现在,当我尝试在文本框中输入新值时,例如输入A
,该值将继续被删除。这发生在之前我在文本框外单击。这是否与表格提交后有关?
注意:我在JS函数调用中使用如下的AJAX,如果这有用的话。
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, capsCallback, postData);
function setF(group_id, caps){
var token = document.theForm.sessionToken.value;
getCarByAjax(token, group_id, caps);
}
function getCarByAjax(sessionToken, group_id, caps){
top.currentDependencyGroup = group_id;
//alert("strs= " + strs);
var entryPoint = '/DropDownList?';
// entryPoint is the base URL
if(top.ctx != null && top.ctx != ""){
entryPoint = top.ctx + '/DropDownList?';
}
var sUrl = entryPoint + encodeURI;
var postData = 'CAPSVEH=' + caps + '&FROM=' + group_id + '&sessionToken=' + sessionToken;
var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, capsCallback, postData);
}
答案 0 :(得分:1)
是的解决方案在您的JS代码中。尝试使用onblur,或在JS代码中发出警报进行调试。注意display.style ='none'并重置values =''