【问题标题】:Check user entered text aginst xml检查用户输入的文本 aginst xml
【发布时间】:2013-11-23 16:42:16
【问题描述】:

我正在尝试根据 XML 文件检查用户在动态文本框中输入的文本,因此如果用户输入它跟踪头奖并且未存储其存储的数组,这就是我目前所拥有但无法获得的它可以工作,有人有什么想法吗?舞台上只有一个名为 userID 的动态文本框和一个名为 idBtn 的按钮来检查,谢谢

编辑:我改变了它,我无法工作的是用户输入的文本与 xml 中的内容之间的比较,即使为 true,if 循环也总是运行,

 import flash.display.MovieClip;
 import flash.text.TextField;

 var xmlloader:URLLoader = new URLLoader();
 var xmlreq:URLRequest = new URLRequest("users.xml");
 xmlloader.load(xmlreq);

 xmlloader.addEventListener(Event.COMPLETE, convertdata);

 function convertdata(event:Event)
     {
     var xmlinfo:XML = new XML(event.target.data);
     var postedlist:XMLList = xmlinfo.user;
     var totallist:Number = postedlist.length();
     trace(totallist);
     for(var i:int=0 ; i < totallist ; i++)
         {
             trace("id_no[i] before lowered " + xmlinfo.user.id_no[i])
             xmlinfo.user.id_no[i] = xmlinfo.user.id_no[i].toLowerCase();
             trace("id_no[i] after lowered " + xmlinfo.user.id_no[i])
         }

         function checkUser(event:MouseEvent):void
             {
                 for(var i:int=0 ; i < totallist ; i++)
                 {
                     var enteredID:String = userId.text
                     enteredID = enteredID.toLowerCase();
                     trace("before if "+ xmlinfo.user.id_no[i] +" and " + enteredID)
                 if (xmlinfo.user.id_no[i]==enteredID)
                     {
                     trace("jackpot");
                     }
                 else
                     {
                     trace("nope");
                     }
                 }

             }
         idBtn.addEventListener(MouseEvent.MOUSE_UP, checkUser);
     }

我的 xml 只是

<root>
   <user>
        <id_no>a</id_no>
        <username>Jane Doe</username>
        <banned>-1</banned>
        <equip_out>-1</equip_out>
    </user>
</root>

我的输出是:

 1
 id_no[i] before lowered a
 id_no[i] after lowered a

在文本框中输入注释

      before if a and 

      nope

在文本框中输入 q

      before if a and q

      nope

在文本框中输入(这是我想要返回累积奖金跟踪的内容)

      before if a and a

      nope

【问题讨论】:

  • 你“不能让它工作”是什么意思?你需要比这更具体,它会给出任何错误消息吗?为什么你在循环中有一个函数?此外,您的 XML 似乎不完整,您需要打开 &lt;user&gt;&lt;root&gt; 标签。
  • 抱歉,我更新了我的意思并改变了操作脚本
  • 请发布您的输出
  • 张贴在那里,谢谢

标签: actionscript-3


【解决方案1】:

我认为您是在将 XML 与字符串进行比较。

试试这个:

if (xmlinfo.user.id_no[i].toString()==enteredID)
{
   trace("jackpot");
}
else
{
   trace("nope");
}

【讨论】:

  • @user2367312 请务必单击左侧的复选标记以将其标记为已接受的答案。点赞也没有什么坏处;)
  • 抱歉,那里做了,说我不能投票,直到我有 15 个代表,再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-03
  • 1970-01-01
  • 2021-03-25
相关资源
最近更新 更多