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

1 に答える 1

1

ええ、解決策はあなたのJSコードにあります。onblurを試すか、JSコードでアラートをデバッグしてください。display.style='none'およびresetingvalues=''に注意してください

于 2012-10-31T16:04:08.223 に答える