jQuery + formu + TextInput>

3 Cevap php

Ben tarihleri ​​yyyy-mm-dd olarak geçti ama aa-gg-yyyy (ABD tabanlı istemci) olarak istemciye görüntülenen bir uygulama üzerinde çalışıyorum.

Ben bir raporda tarihlere / seçerek için bir jQuery datepicker kullanıyorum ve mm-dd-yyyy olarak müşteriye tarihleri ​​göstermek ama form gönderildiğinde, yyyy-aa-gg olarak göndermek istiyorum.

Bu onSubmit içine kanca gerek kalmadan bir TextInput metin bir değerini görüntülemek ve başka bir teslim olması mümkün mü?

Ben şu alternatifleri ile geldim:

  1. , Gelen ve alanları için metin girişi gizleme kukla alanları oluşturmak ve aşağıdaki jQuery tarih seçici fonksiyonları faydalanmak: altField ve altFormat tercih ettikleri şekilde müşteriye değerini görüntülemek ve aracılığıyla ayarlanır sunulan değerleri ile sadece anlaşma için alt fonksiyonları.

  2. -Mm-yyyy gg ve de değerini değiştirmek için = "müşterinin tercih edilen biçimine tarihini değiştirmek için aa-gg-yyyy tarihlerini değiştirmek için bir onSubmit javascript çağrısı var.

  3. Aa-gg-yyyy tüm tarihleri ​​işlemek için uygulamayı yeniden yazmak ve müşteri belirli bir biçimde kendi tarihlerini istiyorsunuz ABD dışındaki müşteriler asla umuyoruz.

  4. Dd-Mon-YYYY örneğin tüm tarih değiştirme Müşterilerimizin tüm müşterilerimiz gibi 26-Mayıs-2010 yalnızca İngilizce olması garanti edilir.

3 Cevap

Bunu yolu gösteriminden önce tercüme ve sonra benim PHP kodu sunacak. Ben 'YYYY-AA-GG biçiminde olan bir MySQL veritabanı tarihleri ​​alıyorum, ama' AA / GG / YYYY 'formatında bir jQuery UI datepicker ile formda onları görüntüleyen duyuyorum.

Edit: bu nasıl aynı birini kullanarak içindir, ek bir alanı kullanmak isteyen sanıyordum?

http://jsfiddle.net/bEd8c/

Eğer istediğiniz şekilde göndermek için DateFormat, kullanım $. datepicker.formatDate () ile visible istediğiniz tarihi biçimlendirmek. Daha spesifik olarak, formda yeniden format herhangi datepickers için kullanabilirsiniz gönderebilirsiniz.

$('form').submit(function() {
   $(this).find('input.yourDatePickerClass').each( function() {
      $dp = $(this);
      $dp.val( $.datepicker.formatDate( 'yy-mm-dd', $dp.datepicker('getDate')) );
   });
});

Eski yanıt:

datepicker olarak altFormat seçeneği bir göz atın. Bu size kullandığınız birine farklı bir tarih biçimini görüntülemek sağlar.

örneğin

$( ".selector" ).datepicker({ altFormat: 'mm-dd-yy' });

Her zaman dezenfekte ve DB geçirmeden önce bunları tarihleri ​​biçimlendirmek gerekir. Bu istemci tarafında ele olması gereken bir şey değildir. Basit bir date("Y-m-d", strtotime($date)) yeterli olacaktır.