0

検証のために入力テキストを xml タグと比較しようとしていますが、問題が発生しています。私のエラーは、calling() 関数の条件付きです (私は思います):

if (window.XMLHttpRequest){
     xmlhttp=new XMLHttpRequest();
}
else{
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","userPass.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

function calling(){
    if(document.getElementById("userName").innerHTML==
      (xmlDoc.getElementsByTagName("user")[0].childNodes[0].nodeValue){
             alert("this is valid");
  }
}

<form name="input" action="userPass.xml" method="post">
        username <input type="text" id="userName" onchange="calling()" /><br/><br/>
        password <input type="password" id="password"/><br/><br/>
        <input type="submit" value="Submit" />
</form>

お時間を割いていただきありがとうございます。

4

1 に答える 1

0

if ステートメントの条件に閉じ括弧がないと思います。また、innerHTML の代わりに入力の value プロパティをテストすることもできます。関数は次のようになります。

function calling() {
    if (document.getElementById("userName").value == (xmlDoc.getElementsByTagName("user")[0].childNodes[0].nodeValue){ 
       alert("this is valid");
  }
}

これは私の推測です。どのような問題が発生しているか、またはサーバーからの応答がどのようなものであるかを知らずに、これ以上お手伝いすることはできません。

于 2012-09-13T17:28:27.913 に答える