Girdi türü = “tarih” biçimini değiştirmenin bir yolu var mı?


766

Web sayfamda HTML5 öğeleriyle çalışıyorum. Varsayılan olarak giriş type="date"tarihi tarih olarak gösterir YYYY-MM-DD.

Soru şu ki, biçimini aşağıdaki gibi değiştirmek mümkün DD-MM-YYYYmü?


4
Google, Chrome için bir SSS oluşturdu: developers.google.com/web/updates/2012/08/… Bu nedenle biçim, işletim sisteminin yerel ayarına dayanmaktadır.
Endy Tjahjono

Bunu yapmaya çalışırken zamanımı boşa harcıyorum dd/mm/yyyy. moment veya jQuery datepicker gibi başka bir kütüphane kullanın
Ali Al Amine

Yanıtlar:


608

Biçimi değiştirmek imkansız

Kablo üzerinden biçim ile tarayıcının sunum biçimi arasında ayrım yapmamız gerekir.

Kablo biçimi

HTML5 tarihi giriş özelliği ifade eder , RFC 3339 tarifnamede e eşit bir tam tarih biçimini belirtir: yyyy-mm-dd. Daha fazla ayrıntı için RFC 3339 teknik özelliğinin 5.6 bölümüne bakın .

Bu biçim valueHTML özelliği ve DOM özelliği tarafından kullanılır ve normal form gönderme işlemi sırasında kullanılan biçimdir.

Sunum biçimi

Tarayıcılar bir tarih girdisi sunma biçiminde kısıtlanmamıştır. Chrome, Edge, Firefox ve Opera'yı yazarken tarih desteği var ( buraya bakın ). Hepsi bir tarih seçici görüntüler ve giriş alanındaki metni biçimlendirir.

Masaüstü cihazlar

Chrome, Firefox ve Opera için, giriş alanı metninin biçimlendirilmesi tarayıcının dil ayarını temel alır. Edge için Windows dil ayarını temel alır. Ne yazık ki, tüm web tarayıcıları işletim sisteminde yapılandırılan tarih biçimlendirmesini yok sayar. Bana göre bu çok garip bir davranış ve bu girdi türünü kullanırken göz önünde bulundurulması gereken bir şey. Örneğin, işletim sistemi veya tarayıcı dili ayarlanmış olan Hollandalı kullanıcılar alışık oldukları biçim yerine en-usgösterilecektir .01/30/201930-01-2019

Internet Explorer 9, 10 ve 11, kablo biçimiyle bir metin giriş alanı görüntüler.

Mobil cihazlar

Özellikle Android'de Chrome için biçimlendirme, Android görüntüleme dilini temel alır. Bunu doğrulayamadım, ancak aynı diğer tarayıcılar için de geçerli olduğundan şüpheleniyorum.


Ben telformat değil, bir JS zaman damgası umuyordum. Ve sunum biçimini değiştirmenin bir yolu, tutarlı hale getirmek oldukça zordur.
Allan Kimmer Jensen

7
@AllanKimmerJensen düşüncelerini anlıyorum. HTML ve JavaScript arasında bir bağlantı oluşturmadığından, RFC3339'da belirtilen biçimi kullanma kararının doğru olduğuna inanıyorum. İkinci noktanıza gelince, kullanılabilirlik açısından kullanıcının takvimi bölgesel tercihlerine göre görmesinin mantıklı olacağını hissediyorum.
David Walschots

10
Uygulama pt_BR ise, ben bir pt_BR girişi bekliyoruz. sistem ayarlarım önemli değil. HTML5, yerel ayarı zorunlu kılmak için bir yol gerektirir.
iurisilvio

5
İspanya'da bulunduğum gibi tarih / para birimi ayarları için İspanyolca yerel ayar kullanıyorum, ancak ilk dilim İngilizce ve ABD klavye düzenine alışkınım, bu nedenle İngilizce / ABD klavye kullanıyorum. Müşterilerim Fransızca konuşan Avrupalı ​​.... Keşke Chrome, vb. Tarihlerin ABD mm-gg-yyyy biçiminde görüntülenmesini durdurmak için ipucu verebilirim!
Luke H

6
ne işe yaramaz bir bileşen, kim bu özellikleri ile geliyor?
boh

143

Bu soru sorulduğundan beri, web alanında birkaç şey oldu ve en heyecan verici olanlardan biri web bileşenlerinin inişidir . Artık ihtiyaçlarınıza göre tasarlanmış özel bir HTML5 öğesi ile bu sorunu zarif bir şekilde çözebilirsiniz . Herhangi bir html etiketinin çalışmasını geçersiz kılmak / değiştirmek isterseniz, sadece gölge dom ile oynamanızı kendiniz oluşturun .

İyi haber şu ki, zaten çok sayıda kazan plakası var, bu yüzden büyük olasılıkla sıfırdan bir çözüm bulmanız gerekmeyecek. Sadece kontrol insanlar inşa ediyoruz neyi ve oradan fikir edinmek.

Bunun için bir etiket kullanmanıza izin veren polimer için datetime-input gibi basit (ve çalışan) bir çözümle başlayabilirsiniz :

 <date-input date="{{date}}" timezone="[[timezone]]"></date-input>

ya da yaratıcı ve pop-up tam tarih-toplayıcı olabilir istediğiniz gibi tarz biçimlendirme ve yerel ayarlar arzu, geri aramaları, ve seçeneklerin uzun liste ile, (eğer emrinde bir bütün özel API var!)

Standartlara uygun, kesmek yok.

İki kere kontrol mevcut polyfills ne tarayıcılar / versiyonları destekledikleri ve bu Kullanıcı kitlesinin yeterli% kapsıyorsa şansı kesinlikle kullanıcıların çoğu ele alacağız yani ... O, 2018 bu.

Umarım yardımcı olur!


ancak bunlardan herhangi biri yerelleştirilebilir mi? yani ay isimlerini ingilizce olmayan olarak değiştirin. Ve masaüstü ve mobil cihazlarda çalışıyorlar mı?
Sam Hasler

Tabii ki, yerelleştirilebilirler. Sistemin yerel ayarından (yani: is.gd/QSkwAY ) yararlanabilir veya i18n dosyalarınızı web bileşeninde (ör: is.gd/Ru9U82 ) sağlayabilirsiniz . Mobil tarayıcılara gelince, henüz% 100 olmasa da çoklu dolgular kullanarak destekleniyorlar… Yayınladığım tarayıcılar / sürümler bağlantısını kontrol edin. Yine, bu kanama kenarı. İleriye dönükseniz, bu harika bir çözümdür.
joseldn

Üzgünüm, en son yorumunu görmedim. Bu: jcrowther.io/2015/05/11/i18n-and-web-component'ları oldukça kullanışlı görünüyor ve cevaba dahil edilmelidir.
Sam Hasler

Yararlı bulduğunuza sevindim. Cevabı her şeyle güncelleyeceğim.
joseldn

@SDude Dahil etmeye değer olduğunu düşündüğünüz bağlantılar hala dahil değildir.
Mark Amery

79

Daha önce de belirtildiği gibi formatı değiştirmek resmi olarak mümkün değildir. Ancak alanı biçimlendirmek mümkündür, bu nedenle (biraz JS yardımı ile) tarihi istediğimiz formatta görüntüler. Tarih girdisini manipüle etme olasılıklarından bazıları bu şekilde kaybedilir, ancak formatı zorlama isteği daha büyükse, bu çözüm bir yol olabilir. Tarih alanları yalnızca şu şekilde kalır:

<input type="date" data-date="" data-date-format="DD MMMM YYYY" value="2015-08-09">

Gerisi biraz CSS ve JS: http://jsfiddle.net/g7mvaosL/

$("input").on("change", function() {
    this.setAttribute(
        "data-date",
        moment(this.value, "YYYY-MM-DD")
        .format( this.getAttribute("data-date-format") )
    )
}).trigger("change")
input {
    position: relative;
    width: 150px; height: 20px;
    color: white;
}

input:before {
    position: absolute;
    top: 3px; left: 3px;
    content: attr(data-date);
    display: inline-block;
    color: black;
}

input::-webkit-datetime-edit, input::-webkit-inner-spin-button, input::-webkit-clear-button {
    display: none;
}

input::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 3px;
    right: 0;
    color: black;
    opacity: 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<input type="date" data-date="" data-date-format="DD MMMM YYYY" value="2015-08-09">

Masaüstü için Chrome'da ve iOS'ta Safari'de iyi çalışır (özellikle dokunmatik ekranlardaki yerel tarih manipülatörleri rakipsiz IMHO olduğundan). Başkalarını kontrol etmedi, ancak herhangi bir Webkit'te başarısız olmasını beklemeyin.


1
Bu işe yaramıyor, değiştiriyorsunuz MMMM YYYY DD, sadece DDdeğişiklikler. -1 için bu, üzgünüm
Can O 'Spam

3
@SamSwift - Değeri değiştirdikten sonra "Çalıştır" ı tıkladınız mı? ;)
pmucha

9
Hayır, o değil. Nasıl çalıştığını anlamıyorsunuz: JS ile oynuyorsunuz ve HTML ile oynamalısınız. momentFonksiyonun giriş formatını değiştirdiniz ve gidilecek yol bu değil. Değişmiş olmalısınız data-date-format="DD-YYYY-MM"ve sonra doğru sonuç olan 09-2015-08'i alacaksınız.
pmucha

3
Safari, Edge, Opera'da da çalışmaz - bu da onu kullanılamaz
kılar

2
Firefox'ta Kırıldı
Alexander Lallier

51

İki farklı formatı ayırt etmek önemlidir :

  • RFC 3339 / ISO 8601 "kablo biçimi": YYYY-AA-GG. HTML5 spesifikasyonuna göre, bu, form gönderildikten sonra veya DOM API aracılığıyla istendiğinde girişin değeri için kullanılması gereken biçimdir. Bölge ve bölgeden bağımsızdır.
  • Kullanıcı arayüzü kontrolü tarafından görüntülenen ve kullanıcı girişi olarak kabul edilen format. Tarayıcı satıcıları, kullanıcının tercih seçimini izlemeleri için teşvik edilir. Örneğin, Dil ve Metin tercihleri ​​bölmesinde "ABD" bölgesi seçili Mac OS'de, Chrome 20 "m / d / yy" biçimini kullanır.

HTML5 belirtimi, her iki biçimi de geçersiz kılmak veya el ile belirtmek için herhangi bir yöntem içermez.


1
valueÖzellik, tel biçimiyle eşleşiyor mu veya kullanıcıya ne görüntüleniyor?
Flimm

2
@Flimm valueözelliği her zaman tel biçimiyle eşleşir.
David Walschots

14

Tarayıcının yerel tarih biçimini kullanacağına inanıyorum. Değiştirmenin mümkün olduğunu düşünmeyin. Elbette özel bir tarih seçici kullanabilirsiniz.


1
yerel tarih formatı, telefonun varsayılan tarih formatı veya konum tarihi formatı anlamına mı geliyor?
Govindarao Kondala

2
Hangi mobil tarayıcıyı kullandığınıza bağlıdır. Ama telefonun varsayılanı olacağından şüpheleniyorum.
Michael Mior

2
"Yerel" biçim, bir tarih biçimini belirlemenin en kötü yolu olan coğrafi konuma dayalı anlamına gelir. Avrupa'ya seyahat eden bir Amerikalı, akıllı telefonlarının 24 saat biçiminde zaman göstermeye başlamasını ve yyyy-aa-gg veya gg / aa / yyyy olarak görünmesini bekler mi? Ya da ABD'de bir Avrupalı ​​için tam tersi?
RobG

10

Google Chrome son beta sürümünde nihayet girişi kullanır type=dateve biçimi kullanılır DD-MM-YYYY.

Yani belirli bir formatı zorlamanın bir yolu olmalı. Bir HTML5 web sayfası geliştiriyorum ve tarih aramaları artık farklı biçimlerde başarısız oluyor.


18
Bahsettiğiniz DD-AA-YYYY biçimi muhtemelen yerel takvim biçiminizdir. Bir web sitesinin ziyaretçileri için belirli bir biçimi zorlamak akıllıca değildir (ve görebildiğim kadarıyla, mevcut HTML5 standartlarında imkansızdır), çünkü bunlar üzerinde zorladığınız biçimden farklı bir takvim biçimine kullanılabilir.
David Walschots

3
Sunu biçimine atıfta bulunuyorsunuz, çünkü input.val () öğesini okumaya çalışırsanız, google chrome (v35), sunu biçimi ne olursa olsun yyyy-aa-gg biçimindeki tarihi döndürür;)
Tilt

3
@DavidWalschots, sadece Amerikalılar, geri kalan mdy formatını dünyanın geri kalanında zorlamanın ne kadar akılsız olduğunu fark ederse.
user275801

@ user275801 Ben bu M-D-Ygarip bir format olduğunu kabul ederken . Amerikalıların bunu başkalarına zorladığını görmedim. :-)
David Walschots

2
@DavidWalschots Gördüğüm çoğu yazılım ve işletim sistemi, Amerikan MDY biçimini "devre dışı bırakmanızı" gerektirir. Bu anlamda, aslında "zorunludur". Aslında linux'um Avustralya için tüm bölgesel ayarlara sahip, ancak tarayıcım (eğer denilebiliyorsa bir Amerikan tarayıcısı) tüm tarihleri ​​mdy formatında göstermeye devam ediyor ve bu durumda " vazgeçmek".
user275801

5

Hızlı bir çözüme ihtiyacınız varsa bunu deneyin Yyyy-aa-gg yapmak için "dd- Eyl -2016"

1) Girdi bir span sınıfının yakınında oluşturun (etiket gibi davranın)

2) Tarihiniz kullanıcı tarafından her değiştirildiğinde veya verilerden yüklenmesi gerektiğinde etiketi güncelleyin.

IE11 + için webkit tarayıcı cepleri ve işaretçi olayları için çalışır jQuery ve Jquery Date gerektirir

$("#date_input").on("change", function () {
     $(this).css("color", "rgba(0,0,0,0)").siblings(".datepicker_label").css({ "text-align":"center", position: "absolute",left: "10px", top:"14px",width:$(this).width()}).text($(this).val().length == 0 ? "" : ($.datepicker.formatDate($(this).attr("dateformat"), new Date($(this).val()))));
        });
#date_input{text-indent: -500px;height:25px; width:200px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>
<input id ="date_input" dateformat="d M y" type="date"/>
<span class="datepicker_label" style="pointer-events: none;"></span>


2
Bu soruya cevap vermez ve ikisi de etiketlenmemiş veya istenmeyen 2 kütüphane gerektirir. Ayrıca tarihin manuel olarak girilmesine izin vermez.
RobG

değiştirilmesi istenmedi, sadece biçimi göster ... bunu önizleme olarak yapabilir ve biçimi yine de güncellemek için değişiklik olaylarıyla girdiyi kullanabilirsiniz.
Miguel

4

Birçok tartışmayı okuduktan sonra basit bir çözüm hazırladım ama çok fazla Jquery ve CSS kullanmak istemiyorum, sadece bir javascript.

HTML Kodu:

<input type="date" id="dt" onchange="mydate1();" hidden/>
<input type="text" id="ndt"  onclick="mydate();" hidden />
<input type="button" Value="Date" onclick="mydate();" />

CSS Kodu:

#dt {
  text-indent: -500px;
  height: 25px;
  width: 200px;
}

Javascript Kodu:

function mydate() {
  //alert("");
  document.getElementById("dt").hidden = false;
  document.getElementById("ndt").hidden = true;
}

function mydate1() {
  d = new Date(document.getElementById("dt").value);
  dt = d.getDate();
  mn = d.getMonth();
  mn++;
  yy = d.getFullYear();
  document.getElementById("ndt").value = dt + "/" + mn + "/" + yy
  document.getElementById("ndt").hidden = false;
  document.getElementById("dt").hidden = true;
}

Çıktı:

resim açıklamasını buraya girin


3

Gibi, söz konusu <input type=date ... >bu yüzden tarayıcılar gibi webkit hakkında konuşması (krom) let tam çoğu tarayıcıda uygulanmadı.

Linux kullanarak, ortam değişkeni değiştirerek değiştirebilirsiniz LANG, LC_TIMEyapamaz (en azından benim için) çalışmaları gibi görünüyor.

localeMevcut değerlerinizi görmek için bir terminal yazabilirsiniz . Aynı kavramın IOS'a da uygulanabileceğini düşünüyorum.

örneğin: Kullanma:

LANG=en_US.UTF-8 /opt/google/chrome/chrome

Tarih şu şekilde gösterilir: mm/dd/yyyy

Kullanımı:

LANG=pt_BR /opt/google/chrome/chrome

Tarih şu şekilde gösterilir: dd/mm/yyyy

Sen kullanabilirsiniz http://lh.2xlibre.net/locale/pt_BR/ (değişiklik pt_BRistediğiniz gibi tarihlerinizi size kendi özel yerel oluşturmak ve biçimlendirmek için bölgeye göre).

Varsayılan sistem tarihinin nasıl değiştiğine dair daha gelişmiş bir referans: https://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/ ve https: // askubuntu. com / sorular / 21316 / nasıl-can-i-özelleştir-a-sistem-yerel

Gerçek geçerli tarih biçimini aşağıdakileri kullanarak görebilirsiniz date:

$ date +%x
01-06-2015

Ama LC_TIMEve d_fmtne yazık ki, (ve bunu webkit veya krom bir hata olduğunu düşünüyorum) krom tarafından reddedilmesine görünüyor ÇaIsmyor . : '(

Yani, ne yazık ki, eğer LANGortam değişkeni sorununuzu çözmezse, henüz bir yolu yok.


+1 Harika! kullanarak: LANG=ja_JP.UTF-8 chromium-browserbenim için hile yaptı. Ayrıca Vivaldi ile çalışıyor ve sanırım diğer tarayıcılarda da. Teşekkürler!
lepe

2

Tarayıcılar, tarih giriş biçimini kullanıcının sistem tarih biçiminden alır.

(Desteklenen tarayıcılarda, Chrome, Edge'de test edilmiştir.)

Tarih kontrolünün stilini değiştirmek için şu an için spesifikasyonlar tarafından tanımlanan bir standart olmadığından, aynı şeyi tarayıcılarda uygulamak mümkün değildir.

Ancak, tarih biçimini sistem ayarlarından alma davranışı daha iyidir ve kesinlikle önermem, geçersiz kılmaya çalışmamalıyız. Bunun nedeni, kullanıcıların tarih-giriş biçimini sistemde / aygıtta yapılandırdıkları gibi görecekleri ve yerel ayarlarıyla rahat oldukları veya yerel ayarlarıyla eşleşecekleri görecektir.

Unutmayın, bu sadece kullanıcıların ekranda gördüğü UI formatıdır, javascript / arka uçta istediğiniz formatı her zaman koruyabilirsiniz.

Aynı anda google geliştiriciler sayfasına bakın.


@downvoters, mevcut ve gelecekteki cevapları iyileştirmek için -1 hakkında yorum bırakmak daha iyidir.
Rahul R.

2

Web kiti tarayıcılarını kullanıcının bilgisayarını veya cep telefonlarını varsayılan tarih biçimini kullanarak değiştirmek mümkün değildir. Ancak jquery ve jquery UI'yi kullanabiliyorsanız, geliştirilebilir ve geliştiricinin istediği herhangi bir biçimde gösterilebilen bir tarih seçici vardır. jquery UI tarih seçicinin bağlantısı bu sayfada http://jqueryui.com/datepicker/ demirin yanı sıra kod ve dokümantasyon veya dokümantasyon bağlantısını da bulabilirsiniz.

Düzenleme: -Benim krom varsayılan olarak sistem ayarlarına eşit dil ayarlarını kullanıyor ama kullanıcı bunları değiştirebilir, ancak geliştirici kullanıcıları bunu yapmaya zorlayamaz, bu yüzden web'de arama yapabileceğinizi söyleyen diğer js çözümlerini kullanmanız gerekir javascript tarih seçicileri veya jquery tarih seçicisi gibi sorgularla


2

biçimini değiştirmek için bir yol buldum, onun zor bir yolu, ben sadece sadece bir CSS kodu kullanarak tarih giriş alanlarının görünümünü değiştirdi.

input[type="date"]::-webkit-datetime-edit, input[type="date"]::-webkit-inner-spin-button, input[type="date"]::-webkit-clear-button {
  color: #fff;
  position: relative;
}

input[type="date"]::-webkit-datetime-edit-year-field{
  position: absolute !important;
  border-left:1px solid #8c8c8c;
  padding: 2px;
  color:#000;
  left: 56px;
}

input[type="date"]::-webkit-datetime-edit-month-field{
  position: absolute !important;
  border-left:1px solid #8c8c8c;
  padding: 2px;
  color:#000;
  left: 26px;
}


input[type="date"]::-webkit-datetime-edit-day-field{
  position: absolute !important;
  color:#000;
  padding: 2px;
  left: 4px;
  
}
<input type="date" value="2019-12-07">


0

Yazı 2 ay önce aktif olduğundan. bu yüzden de girdilerimi vermeyi düşündüm.

Benim durumumda gg / aa / yyyy biçiminde gelen bir kart okuyucudan tarih alıyorum.

ne yaptığım. Örneğin

var d="16/09/2019" // date received from card
function filldate(){
    document.getElementById('cardexpirydate').value=d.split('/').reverse().join("-");
    }
<input type="date" id="cardexpirydate">
<br /><br />
<input type="button" value="fill the date" onclick="filldate();">

kod ne yapar:

  1. "d" / dd / aa / yyyy (split () kullanarak) tarihini böler ve bir dizi yapar,
  2. daha sonra tarih girdisi aldığımın tersini desteklediğinden diziyi tersine çevirir (reverse () kullanarak).
  3. daha sonra diziyi, giriş alanının gerektirdiği biçime göre bir dizeye ekler (join () kullanarak)

Bütün bunlar tek bir satırda yapılır.

Ben bu birine yardımcı olacağını düşündüm bu yüzden bunu yazdım.


Bu, sorulan soruya değinmez; Eğer konum ayrıştırma değil biçimini değiştirerek, burada özel bir biçim <input>kullanır değeri göstermek için.
Mark Amery

bu sadece bir iş
Hizbullah Şah

0

Bu sorunu 2 yıl önce aradım ve google aramalarım beni tekrar bu soruya yönlendiriyor. Saf JavaScript ile bu sorunu çözmeye çalışırken zaman kaybetmeyin. Bunu yapmaya çalışırken zamanımı boşa harcıyorum dd/mm/yyyy. Tüm tarayıcılara uyan eksiksiz bir çözüm yoktur. Bu yüzden tarih jQuery seçici kullanmanızı veya müşterinize bunun yerine varsayılan tarih biçimiyle çalışmasını söylemenizi öneririm


-1

Eski bir yazı olduğunu biliyorum ama google aramada ilk öneri olarak geliyor, kısa cevap no, önerilen cevap kullanıcı özel bir tarih piker, kullandığım doğru cevap tarih girişini simüle etmek ve istediğiniz herhangi bir formatı yapmak için bir metin kutusu kullanıyor , işte kod

<html>
<body>
date : 
<span style="position: relative;display: inline-block;border: 1px solid #a9a9a9;height: 24px;width: 500px">
    <input type="date" class="xDateContainer" onchange="setCorrect(this,'xTime');" style="position: absolute; opacity: 0.0;height: 100%;width: 100%;"><input type="text" id="xTime" name="xTime" value="dd / mm / yyyy" style="border: none;height: 90%;" tabindex="-1"><span style="display: inline-block;width: 20px;z-index: 2;float: right;padding-top: 3px;" tabindex="-1">&#9660;</span>
</span>
<script language="javascript">
var matchEnterdDate=0;
//function to set back date opacity for non supported browsers
    window.onload =function(){
        var input = document.createElement('input');
        input.setAttribute('type','date');
        input.setAttribute('value', 'some text'); 
        if(input.value === "some text"){
            allDates = document.getElementsByClassName("xDateContainer");
            matchEnterdDate=1;
            for (var i = 0; i < allDates.length; i++) {
                allDates[i].style.opacity = "1";
            } 
        }
    }
//function to convert enterd date to any format
function setCorrect(xObj,xTraget){
    var date = new Date(xObj.value);
    var month = date.getMonth();
    var day = date.getDate();
    var year = date.getFullYear();
    if(month!='NaN'){
        document.getElementById(xTraget).value=day+" / "+month+" / "+year;
    }else{
        if(matchEnterdDate==1){document.getElementById(xTraget).value=xObj.value;}
    }
}
   </script>
  </body>
</html>

1- Lütfen bu yöntemin yalnızca tarih türünü destekleyen tarayıcılarda çalıştığını unutmayın.

2- JS kodundaki ilk işlev, tarih türünü desteklemeyen ve görünümü normal metin girişine ayarlayan tarayıcı içindir.

3- Bu kodu sayfanızdaki birden çok tarih girişi için kullanacaksanız, lütfen hem işlev çağrısındaki metin girişinin "xTime" kimliğini ve girişin kendisini başka bir şeye değiştirin ve elbette, istediğiniz girişin adını kullanın. form gönder.

4-ikinci fonksiyonda gün + "/" + ay + "/" + yıl yerine istediğiniz herhangi bir formatı kullanabilirsiniz, örneğin yıl + "/" + ay + "/" + gün ve metin girişinde yer tutucu veya değer kullanın sayfa yüklendiğinde kullanıcı için yyyy / aa / gg.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.