SORU
17 Mart 2011, PERŞEMBE


Giriş=Chrome otomatik sayı biçimleri

Giriş alanında bir numara HTML5 özelliği type=kullanma belirterek olduğum bir web uygulaması var"numarası".

<input type="number" value="123456" />

Türünü belirterek, Chrome otomatik olarak değer virgül (123,456) dahil biçimleri. Diğer tarayıcılarda sayı biçimi değil, aynı zamanda sayısal olmayan karakterler engellemez.

Bu durumda, virgül eklenecek istemiyorum. Yerelleştirilmiş biçimlendirmeyi devre dışı bırakmak için herhangi bir yolu var mı?

CEVAP
30 Mayıs 2011, PAZARTESİ


Bu davranış Krom HTML5 number giriş tipi ile ilişkili nedeniyle oluşan, ve kesinlikle bu umursamıyor not the only one.

text türünü kullanarak geçmişte bu sorunu geçici olarak çalıştım. Örneğin, bu (şimdi Chrome 11.0.696.71 test) çalıştı:

<input type="text" 
       placeholder="Enter Text" 
       name="inputName" 
       pattern="[0-9]*">

Bu davranış number türü (bana en azından) kesinlikle bir hata, çünkü HTML5 standard belirtir number gereken aşağıdaki değeri biçimlendirilmiş görüntü:

Bir dize, giriş, aşağıdaki gibi bir sayı belirli bir sayı dönüştürme algoritması: giriş temsil eden geçerli bir kayan nokta sayısını Döndürmek.

Ve standart bir" here ve bildiğim kadarıyla, gruplandırma karakterler de dahil olmak üzere görüyorum bekleniyor numara. "geçerli bir kayan nokta tanımlar


Güncelleme

Aşağıdaki kodu için sorun Y cesareti aşağı izole ettim. Burada sorunu da giderir satırı ekledim:

// From LocalizedNumberICU.cpp
String formatLocalizedNumber(double number, unsigned fractionDigits)
{
    NumberFormat* formatter = numberFormatter();
    if (!formatter)
        return String();
    UnicodeString result;
    formatter->setMaximumFractionDigits(clampToInteger(fractionDigits));
    formatter->setGroupingUsed(FALSE); // added this line to fix the problem
    formatter->format(number, result);
    return String(result.getBuffer(), result.length());
}

Gelecek hafta tatile gidiyorum ama döndüğümde Y ekibi bu yama gönderme planı. Onlar (umarım) yama bir kere kabul ettikten sonra, Krom normal yenileme sürecinin bir parçası olarak çekmek gerekir.


Orijinal kodu here, yamalı revizyonu* *14 ve diff görebilirsiniz orijinal dosya ve yamalı dosyası here. Son patch Shinya Kawanaka tarafından oluşturuldu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cyriak

    cyriak

    29 Mart 2006
  • failblog

    failblog

    17 HAZİRAN 2008
  • theKGB65

    theKGB65

    24 Aralık 2007