0

ページの読み込み時に起動される関数を Javascript で作成しました。関数は初めて正常に動作します。しかし、別のページにアクセスした後にインデックス ページに戻ると、正しく動作しません。ある時点までは正しく動作しますが、それ以降はコードをスキップします。

以下は私の機能です

       <script>function populate() {  

                    //alert("The Flag is "+$('#flag').val());  
                    val =document.getElementById('flag').value;  
                    xml =document.getElementById('xml').value;  
                    alert(xml);  
                    if (val === "M") {  

                        if (window.ActiveXObject) {  
                            doc = new ActiveXObject('Microsoft.XMLDOM');  
                            doc.async = 'false';  
                            doc.loadXML(xml);  
                            alert("ActiveX");  
                        } else {  
                            var parser = new DOMParser();  
                            doc = parser.parseFromString(xml, 'text/xml');  
                        //  alert("DOMparser");  
                        }  
                        alert("Value true");  
                                                   /* upto here function works correctly each time 
                                                    * I have also seen the values of both val and xml are coming correctly 
                                                   */  
                        passportNo = doc  
                                .getElementsByTagName('PASSPORT_NO')[0].childNodes[0].nodeValue;  
                        //alert('passportNo ' + passportNo);  
                        document.getElementById('passportNo').value = passportNo;  
                        pass_type = doc.getElementsByTagName('PASS_TYPE')[0].childNodes[0].nodeValue;  
                        //  alert("Pass_type = " + pass_type);  
                        if (pass_type === "I") {  
                            document.getElementById('in').checked = true;  
                        } else if (pass_type === "O") {  
                            document.getElementById('out').checked = true;  
                        }  
                        jobNo = doc.getElementsByTagName('JOB_NO')[0].childNodes[0].nodeValue;  
                        //alert("jobNo = "+jobNo);  
                        document.getElementById('job_no').value = jobNo;  

                        jobDt = doc.getElementsByTagName('JOB_DT')[0].childNodes[0].nodeValue;  
                        //alert("jobDT "+jobDt);  
                        document.getElementById('DT').value = jobDt;  
                        //Clear xml  

                        nationality =doc.getElementsByTagName('NATIONALITY')[0].childNodes[0].nodeValue;  
                        document.getElementById('nationality2').value = nationality;  
                        element = document.getElementById('nationality');  
                        element.value = nationality;  

                    }  
                } </script> `

これが私がそれを呼んでいる方法です

<body onload="populate()">
<table width="1270" align="center">
    <tr>
        <td width="1010" height="46" colspan="3" align="center"><h1>Currency
                Declaration Form</h1></td>
    </tr>
</table>
<input type="hidden" id="flag" value="<%=code%>" />
<input type="hidden" id="xml" value="<%=xml%>" />
<form name="myForm" action="Entry.do" method="post"
    onsubmit="return validateAll()" class = "autocompleteOff">
    <table width="1042">
        <tr class="heading">

        </tr>
        <tr>
            <td width="256" align="left"><input type="radio" name="inout"
                id="in" value="I" /> <label>INCOMING </label> <input type="radio"
                name="inout" id="out" value="O" /> <label>OUTGOING </label></td>
            <td width="774" align="right"><label>JobNo/DT</label> <input
                type="text" name="job_no" id="job_no" readonly="readonly"
                tabindex="-1" /> <input type="text" name="DT" id="DT"
                readonly="readonly" tabindex="-1" value="<%=Convert.getSysDate()%>" /></td>
        </tr>
    </table>`
4

1 に答える 1

1

passportNoHTML コードにID もPASSPORT_NO タグ(getElementsByTagName)も表示されません。pass_typenationalityおよび他の多くの要素と同じ問題。コードがありませんか?または、これは PHP からの動的出力 (たとえば) であり、最初の実行後に別の HTML を返すのでしょうか?

于 2013-08-07T05:34:52.617 に答える