2012-10-12 14 views
6

tarih alanında görünür HTML5 tutucu metni nasıl değiştiririm: AncakBen Chrome ile görüntülendiğinde aşağıdaki kod, bir datepicker hale getirdiği keşfetmek hoş bir sürpriz oldu Chrome

<input type="date" name="wdate" id="wdate" value="" placeholder="date of purchase" /> 

, yer tutucu metin göz ardı edilir ve bunun yerine "Tarih/Ay/Yıl" gösterilir.

Yer tutucu metnini nasıl değiştirebilirim ve kendim kullanabilir miyim?

Zaten denedim:

<script> 
    $("#wdate").attr("placeholder", "Day/Month/Year of purchase"); 
</script> 

ama boşuna.

+0

tutucu aksi takdirde biz onu değiştiremez, sadece gösterecektir. – vusan

+4

Yer tutucu özniteliğinin formun nasıl doldurulacağına dair bir ipucu olması gerekir (örn. Biçimin bir örneği veya açıklaması), bir 'etiket' öğesi için açıkça ** değil **. Alana bir 'etiket 'koyun. – Quentin

+1

Bu alan boş. Bu tam metni, sayfa tam olarak yazdığımdan (tırnak işaretleri olmadan) "Gün/Ay/Yıl" yüklediğinde hemen gösterir. –

cevap

1

Yaşlı soru, ama burada Geçenlerde kullanmak zorunda çözümdür söylüyor.

HTML5 tarih alanını kullanamazsınız, ancak bu jQuery UI datepicker ile yapılabilir. Metin kutusu boşsa http://jsfiddle.net/egeis/3ow88r6u/

var $datePicker = $(".datepicker"); 
 

 
// We don't want the val method to include placehoder value, so removing it here. 
 
var $valFn = $.fn.val; 
 
$.fn.extend({ 
 
    val: function() { 
 
     var valCatch = $valFn.apply(this, arguments); 
 
     var placeholder = $(this).attr("placeholder"); 
 
     
 
     // To check this val is called to set value and the val is for datePicker element 
 
     if (!arguments.length && this.hasClass('hasDatepicker')) { 
 
      if (valCatch.indexOf(placeholder) != -1) { 
 
       return valCatch.replace(placeholder, ""); 
 
      } 
 
     } 
 
     return valCatch; 
 
    } 
 
}); 
 

 
// Insert placeholder as prefix in the value, when user makes a change. 
 
$datePicker.datepicker({ 
 
    onSelect: function(arg) { 
 
     $(this).val($(this).attr("placeholder") + arg); 
 
    } 
 
}); 
 

 
// Display value of datepicker 
 
$("#Button1").click(function() { 
 
    alert('call val(): {' + $datePicker.val() + '}'); 
 
}); 
 

 
// Submit 
 
$('form').on('submit', function() { 
 
    $datePicker.val($datePicker.val()); 
 
    alert('value on submit: {' + $datePicker[0].value + '}'); 
 
    return false; 
 
});
.ui-datepicker { width:210px !important; }
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/blitzer/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> 
 
<form method="post"> 
 
    <p>HTML5 Date: <input type="date" placeholder="html5 date:" /></p> 
 
    <p>jQuery DatePicker: <input type="text" class="datepicker" placeholder="Start date:" /></p> 
 
    <p><input id="Button1" type="button" value="Get DatePicker Value" title="Get DatePicker Value" /></p> 
 
    <p><input type="submit" text="fire submit" /></p> 
 
    <p>Original Source for this <a target="_blank" href="http://jqfaq.com/how-to-add-some-custom-text-to-the-datepickers-text-field/">JQFaq Question</a></p> 
 
</form>