2012-04-14 19 views
0

XMLからデータを取得しています。私は正常にXMLから価格を拾うことができますが、私は以下の関数を使用すると表示されるundefinedと呼ばれる予期しないエラーがあります。あなたが関数本体には何も返さないようJavaScriptで未定義のエラー

<html> 
    <head> 
    <script type="text/javascript"> 
     function myXml(origin, destination) { 
     var x=xmlDoc.getElementsByTagName("flights"); 

     for(i=0;i<x.length;i++) { 
      if(x[i].getAttribute('FrTLAs')==origin && x[i].getAttribute('destination')==destination) { 
      document.write(x[i].getAttribute('price')) 
      } 
     } 
     } 
    </script> 
    </head> 
    <body> 
    <script type="text/javascript"> 
     document.write(myXml('SYD','Bali')); 
    </script> 
    </body> 
</html> 
+1

xmlDocが定義されていません。 –

+0

xmlが定義されていない場合、私のコードはどのようにxmlから価格を選ぶのですか?ブラウザの結果は636undefinedです – Carlos

+0

あなたの問題に関係はありませんが、iをローカル関数スコープの変数としてよく宣言してください: 'for(var i = 0; ..' – Niko

答えて

3

myXml('SYD','Bali')コールは、undefinedを返します。したがって

document.write(myXml('SYD','Bali')); 

は、"undefined"を印刷します。上記のコードを次のコードに置き換えてください:

myXml('SYD','Bali'); 
1

エンジニアが正しいか、myXML関数の値を適切に返してください。

ですから、document.write(undefined)は発生しません。上記のエラーは発生しない可能性があります。