2009-06-26 15 views
0

私は警告したいJavaScript関数コードを持っています。JQueryを使ってJavaScriptを使ってXMLを読む

function msgalert(x,y) 
{ 
tempstr = x.value 
if(tempstr.length>y) 
{ 
    alert(c_AcknowledgementText); 
    x.value = tempstr.substring(0,y); 
    } 
} 

は今、私はフォーマット以下でXMLを持っている:

<?xml version="1.0" encoding="utf-8" ?> 
<root> 
    <key name="c_ContactUsHeading">Contact Us</key> 
    <key name="c_AcknowledgementText">Comments can not be more than 250 characters.</key> 
</root> 

上記の警告に示されたメッセージは、XMLのキー名「c_AcknowledgementText」上から読み取ることができるように私はJavaScriptコードをしたいです。

私は以下のコードをしようとしますが、問題を解決することができない、あなたは私が警告を与えるためにそれを使用できるように、上記の機能を変更する必要が見

<script language="javascript" type="text/javascript"> 
function msgalert(x,y) 
{ 
tempstr = x.value 
    if(tempstr.length>y) 
    { 
      $(document).ready(function(){ 
       $.ajax({ 
        type: "GET", 
        url: "../includes/ResourceData.xml", 
        dataType: "xml", 
        success: function(xml) {      
         $(xml).find('key').each(function(){ 
          var title = $(this).find('name').text();       
          ); 
         });     
        } 
       }); 
      }); 
} 
} 
     </script> 

いくつかを持ってくださいすることができていますXMLによる価値

答えて

2

私は本当にあなたが何をしようとして理解することはできませんが、このコードは間違っている:その時点で

var title = $(this).find('name').text(); 

thisはあなたを介してループしている現在の<key>要素です。

var title = $(this).attr('name'); 

そして内容この要素のを得るために、あなたはどうなる:この要素のname属性の値を取得するには、この操作を行う必要があるだろう

var title = $(this).text(); 

であなたのコメントへの応答、私はあなたがこれをしたいと思う:

var title = $(this).find('key[name=c_AcknowledgementText]').text(); 
alert(title); 
+0

属性名= "c_AcknowledgementText"の場合、属性c_AcknowledgementTextで指定されたテキストの警告メッセージが表示されます。どうしたらいいですか? –

1

だから、この問題について移動するいくつかの異なる方法がありますが、あなたは可能性があり

$(xml).find([name='key']).each(function(){ 
    alert($(this).text());             
}); 

これは、name属性が 'key'に等しいすべての要素を見つけて、その要素のテキストでアラートを送信します。

関連する問題