2014-04-09 64 views
0

我是鈦新來的。我正在開發一個使用鈦的ipap應用程序。我的應用程序需要一個僅允許1234AA或1234 AA格式的文本框(AA/aa)。我想在文本框「無效格式:1234 AA」下顯示一條消息,同時在texbox.it輸入文本時,輸入正確的格式後應該消失。我在谷歌搜索,但我沒有找到任何東西。 如何爲此編寫代碼? 謝謝!鈦Ipad:如何限制文本框以允許特定格式

我試圖以另一種方式是:我添加了一個事件偵聽「點擊」的按鈕,代碼

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個位數,200多字符(我給出確切的數字在模式中)..我的模式有什麼問題?

仍然我希望此代碼爲textfield(顯示錯誤消息,同時在文本框中輸入,直到輸入正確的格式)什麼事件我必須用於文本字段?

回答

0
  • 您可以將「模式」(正則表達式)設置爲輸入字段。在這種情況下,它會像pattern="[0-9Aa]{4}\s?[0-9Aa]{2}"

  • 然後您必須將oninvalid事件偵聽器設置爲輸入字段。當模式匹配不符合時,這將會觸發。例如oninvalid="showInvalidFormatMsg()"或優選fieldElem.addEventListener("invalid", showInvalidFormatMsg);

  • 在這之後您可以使用內置的工具提示與setCustomValidity功能或只是在showInvalidFormatMsg

我無法寫工作代碼ATM中顯示爲DOM文本。但是,如果您無法遵循這些說明,並且沒有人用完整的代碼進行回答,我會嘗試找到一些空閒位置來幫助您完成此操作。

+0

感謝您的信息。我嘗試像這樣var pattern =「[0-9Aa] {4} \ s?[0-9Aa] {2}」; postalcodetextfield.addEventListener('invalid',function(e){while(postalcodetextfield.value!= pattern){var error = Ti.UI.createLabel({text:'inavlid format:1234AA'....} win.add錯誤);}});但不工作 – user3401621

相關問題