0

チームメイトが作成した Web ページに取り組んでいます。

このボタン (ポップアップ ウィンドウの日付ピッカーにつながります) があり、その下にいくつかのテキスト ボックスとラベルが自動的に入力されます (動作します)。ただし、テキスト ボックスの 1 つの横に 1 組のラジオ ボタンがあり、選択できるのは 1 つだけです。いずれかのラジオ ボタンを選択すると、テキスト ボックスの値が変更されます。

現在、そうではありません。ラジオボタンのコードは次のとおりです。

<select name="apply_hrs_wholeday" id="apply_hrs_wholeday" onchange="javascript:UpdateExcesshoursApplicationForm('Apply_hrs_selection');">                        
                    <option value='1' <%=(requestApplicationForm.Apply_hrs_wholeday ? " selected " : "")%>>
                        Whole day
                    </option>
                    <option value='2' <%=(!requestApplicationForm.Apply_hrs_wholeday ? " selected " : "")%>>
                        Half-day
                    </option>
                </select> 

さて、それは私のコードではないので、私はそれを読むのに苦労していることを認めます. 彼が asp: something を使用していないことに気付きましたが、コードの他の部分が台無しになる可能性があるため、完全に置き換えることには消極的です。そこにある JavaScript は、ページのリロードを防止したり、コードからいくつかの変数 (?) をロードしたりするために使用されたと思いますが、確かではありません。

私ができる簡単なこと (ポストバック、多分?) があるかどうかを尋ねるか、ラジオ ボタンの onclick イベントの検出を可能にする現在のコードに追加し、いくつかの新しいコードを実行します。

Javascript:

function UpdateExcesshoursApplicationForm(action, app_id, app_index) {
var senddata;

    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
    }
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }



    if(app_id==null)
        app_id=0;

    if(app_index==null)
        app_index=0;


    var PaycodeTypeObj;
    var PaycodeTypeText;
    PaycodeTypeObj=document.getElementById('PaycodeType');
    PaycodeTypeText=PaycodeTypeObj.options[PaycodeTypeObj.selectedIndex].text;


    var workflowactionidObj;     
    var workflowactionidText;
    workflowactionidObj=document.getElementById('workflowactionid');
    workflowactionidText=workflowactionidObj.options[workflowactionidObj.selectedIndex].text;


    senddata=getfrmValues(document.getElementById('frmRequestApplicationForm')) + 
             '&action=' + action + '&PaycodeTypeText=' + PaycodeTypeText + '&workflowactionidText=' + workflowactionidText + '&app_id=' + app_id + '&app_index=' + app_index;                 

    xmlHttp.open('POST',URL.value,false);
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp.send(senddata);

    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
            var data = xmlHttp.responseText;
            var start = data.indexOf("pageForm")+10;
            var end = data.indexOf("endPageDivForm")+17;
            document.getElementById("pageForm").innerHTML = data.substring(start,end);
            initializeControls();

            if(action=='Validate') {
                if(document.getElementById("Valid").value=='True') {
                    revealModal(document.getElementById('frmRequestApplicationForm'),'modalEmployeeHrsConfirmation');
                }
            }

            if(action=='Refresh') {
                    revealModal(document.getElementById('frmRequestApplicationForm'),'modalEmployeeHrsSelection');
            }else if(action=='ShowPaycode') {
                    revealModal(document.getElementById('frmRequestApplicationForm'),'modalPaycode');
            }else if(action=='ShowWorkflow') {
                    revealModal(document.getElementById('frmRequestApplicationForm'),'modalWorkflow');
            }else if(action=='ShowEmployee') {
                    revealModal(document.getElementById('frmRequestApplicationForm'),'modalEmployeeInfo');
            }


        } 
   }
4

0 に答える 0