Titanium Ipad:如何限制文本框以允许特定格式

时间:2014-04-09 08:20:50

标签: javascript titanium-mobile

我是Titanium的新手。我正在使用钛开发一个ipap应用程序。我的应用程序需要一个只允许1234AA或1234 AA格式的文本框。(A​​A / aa)。我想在文本框下显示一条消息"格式无效:1234 AA"在输入正确的格式后,在texbox.it中输入文本时应该会消失。我在谷歌搜索,但我没有找到任何东西。  如何为此编写代码? 谢谢!

我尝试了另一种方式:我添加了一个eventlistener'点击'到带代码的按钮

    submit.addeventlistener('click',function(){
          pattern="[0-9]{4}\s?[A-Za-z]{2}";
           var textfieldvalue=textfield.value;
           if(!textfieldvalue.match(pattern))
            {
                 var errorlabel=Ti.UI.createlabel({color:'black',text:'Invalid format:
                                                    1234AB'...});
                    win.add(error);
              }
             else{
                 //opening other window
                 }
         });

它的工作但文本框允许超过4位数字和超过2个字符(我给出了模式中的确切数字)..我的模式中出了什么问题?

我仍然想要这个代码用于textfield(在输入正确的格式时输入textfield时显示错误信息)我必须使用哪个事件用于textfield?

1 个答案:

答案 0 :(得分:0)

  • 您可以将“pattern”(正则表达式)设置为输入字段。在这种情况下,它就像pattern="[0-9Aa]{4}\s?[0-9Aa]{2}"

  • 然后,您必须将oninvalid事件侦听器设置为输入字段。当不满足模式匹配时,这将触发。例如oninvalid="showInvalidFormatMsg()"或优先fieldElem.addEventListener("invalid", showInvalidFormatMsg);

  • 在此之后,您可以使用带有setCustomValidity功能的内置工具提示,也可以只在showInvalidFormatMsg

  • 中显示为DOM中的文字

我无法编写工作代码atm。但是如果你无法按照这些说明进行操作,并且没有人回答完整的代码,我会尝试找一些免费的地方来帮助你。