2011-07-19 15 views
7

Yerel bir iPhone uygulaması olan bir mobil web sitesinde çalışıyorum, ancak C# asp.net'de geliştirilmiş basit bir m.somedomain.com sitesi.Iphone Development - Sayısal bir klavye nasıl görüntülenir?

Amaç: Metin kutularından birine tıklandığında yalnızca sayısal klavyeyi nasıl görüntüleyebilirim?

Not: Web sitesi HTML5'teki DEĞİLDİR ve Yerli uygulamanızın içindeki Web görünümündeki parçası değil, bağımsız bir düzenli web sitesi değildir

Benim metin kutusu düzenli asp.net metin kutusudur:

<asp:TextBox runat="server" CssClass="reference_input" Text="1234567" /> 
+1

İlgili, ancak muhtemelen güncelliğini kaybetmiş olabilir: [iPhone UIWebview: Sayısal bir klavye nasıl zorlanır? Mümkün mü?] (Http://stackoverflow.com/questions/773843/iphone-uiwebview-how-to-force-a-numeric-keyboard-is-it-possible) – PengOne

cevap

13

DÜZENLEME: Ben here bulundu Eğer

<input type="text" pattern="[0-9]*" />

telefon klavyesini belirtmek gerek kalmadan, varsayılan olarak sayısal klavyeyi ayarlamak için mobil safari anlatmak için kullanabilirsiniz.

DÜZENLEME (aşağıda yorumlardan) 2: Ayrıca böylece sayısal girişini zorlamak için javascript kullanabilirsiniz:

<input type="text" pattern="[0-9]*" onKeypress="if(event.keyCode < 48 || event.keyCode > 57){return false;}" />

+2

"\ d *" alternatif olarak da mümkündür. – macbirdie

+0

Teşekkürler! Bu mükemmel çalışır, yine de klavye üzerinde ABC'ye geçmek için klavyedeki ABC işaretini görsem de, bunu devre dışı bırakmanın veya kaldırmanın bir yolu var mıdır, böylece kullanıcının yalnızca sayısal olarak girmek için bir seçeneği yoktur. –

+0

Bunu yapmanın en iyi yolu javascript kullanmaktır - deneyin '' Bu hala geçersiz kılınabilir Kullanıcı javascript'i devre dışı bıraktıysa, ancak yanlışlıkla alfa karakterlerini buraya koymak daha zordur. Bu çözümü buldum (burada) (http://www.phpbuilder.com/board/showthread.php?t=10281032). – mopsled

4

= "text" yerine type = "tel" kullanırsanız, sayısal bir klavye getirecektir.

+0

Bu işlevselliğin IOS'un önceki sürümü? –

+0

Kullanılabilirler _since_ iOS 3.1. Elbette [docs] (http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html) 'dir. – macbirdie

+0

Üzgünüm ama bu geçerli IOS üzerinde çalışmıyor, sadece denedim ... –

0

Salesforce'ta (değil HTML input type = 'numara') için, java altında -script iPad, iPhone sayısal tuş takımı varsayılan olarak görünmelidir. (Bu çözüm, asp.net denetimi için de çalışmalıdır)

<apex:page standardController="Account" > 
    <head> 
    <script type="text/javascript"> 
     function addLoadEvent(func) 
     { 
     var oldonload = window.onload; 
     if (typeof window.onload != 'function') 
     { 
     window.onload = func; 
     } 
     else 
     { 
     window.onload = function() 
     { 
      if (oldonload) 
      { 
      oldonload(); 
      } 
      func(); 
     } 
     } 
     }  

     addLoadEvent(function() 
     { 
     try{ 
      var ctl = document.getElementById('{!$Component.frm.txtNumeric}'); 
      type = document.createAttribute("type"); 
      type.nodeValue = "number"; 
      ctl.setAttributeNode(type); 
     }catch(err) 
     { 
     alert(err); 
     } 
     }); 
    </script> 
    </head> 

    <body> 
     <apex:form id="frm" >  
     This is a numeric input <apex:inputfield id="txtNumeric" value="{!account.name}" style="width:200px;" /> 
     </apex:form> 
    </body> 

</apex:page> 
İlgili konular