javascript - 表单提交后 AJAX onchange 行为发生变化

标签 javascript html css ajax asynchronous

     <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);            
    }

最佳答案

是的,解决方案在您的 JS 代码中。试试 onblur,或者在你的 JS 代码中提醒调试。注意 display.style='none' 和 resetting values=''

关于javascript - 表单提交后 AJAX onchange 行为发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160788/

相关文章:

javascript - 在组件内使用 React.createElement 的 TypeScript 无法工作/编译

javascript - jQuery:如何更改标签名称?

javascript - 将 DOM 对象插入任何网页

javascript - 将鼠标悬停在改变颜色的图标上

javascript - 在 Chrome 中重新加载页面时无样式内容的闪烁

html - Material UI React 应用程序中没有滚动条的全高和宽度

html - 媒体查询边框长度

javascript - 在 Mootools 中将对象转换为哈希对象?

javascript - 如何通过chrome api设置下载位置

javascript - 从数组列表中调用函数