2015-04-26 9 views
8

Mam mały problem. Pracuję nad systemem internetowym, a data typu pola formularza sprawia mi ból głowy. System będzie dostępny tylko dla użytkowników z Brazylii, a formatem daty będzie dd/mm/rrrr. Gdy uzyskujesz dostęp do witryny z komputera z językiem portugalskim, data pola formularza formularza HTML działa tak, jak chcę. Ale gdy dostęp do strony w języku komputerowym angielski format daty staje się rrrr-mm-dd. Jest to problem, ponieważ czasami użytkownik nawet nie zauważy, że format daty komputera został zmieniony, ale użytkownik chce zobaczyć datę w formacie dd/mm/rrrr.Jak wymusić format daty wejściowej na dd/mm/rrrr?

Potrzebuję formatu Dd/mm/rrrr niezależnie od ustawień komputera, aby uzyskać dostęp do witryny i bez korzystania z dodatkowej biblioteki javascript.

Kod stosowany jest:

<input type="date" id="date"> 
+0

o to smiliar pytanie: http://stackoverflow.com/questions/6978631/how-to-set- date-format-in-html-date-input-tag – dippas

Odpowiedz

3

Nie ma czegoś takiego. input type=date odbierze wszystko, co jest domyślne w systemie, i będzie pokazywać to w GUI, ale zawsze będzie przechowywać wartość w formacie ISO (rrrr-mm-dd). Poza tym pamiętaj, że nie wszystkie przeglądarki obsługują to, więc nie jest jeszcze dobrym pomysłem, aby zależało od tego typu danych wejściowych.

Jeśli jest to problem firmowy, zmuś cały komputer do używania lokalnego formatu regionalnego (dd-mm-rrrr), a Twój interfejs użytkownika wyświetli go w tym formacie (zobacz link wufoo po zmianie ustawień regionalnych, musisz ponownie otwórz przeglądarkę).

Twój najlepszy zakład to nadal używanie komponentu opartego na JavaScript, który pozwoli Ci dostosować to do swoich potrzeb.

-4

DEMO: http://jsfiddle.net/shfj70qp/

//dd/mm/yyyy 

var date = new Date(); 
var month = date.getMonth(); 
var day = date.getDate(); 
var year = date.getFullYear(); 

console.log(month+"/"+day+"/"+year); 
+0

Myślę, że musisz ponownie przeczytać pytanie. – powerbuoy

1

Aby mieć stały format daty niezależnie od ustawień komputera, należy użyć 3 różnych elementów wejściowych do przechwytywania dzień, miesiąc i rok odpowiednio. Jednakże, trzeba sprawdzić poprawność danych wprowadzonych przez użytkownika, aby upewnić się, że masz poprawną datę jak pokazano poniżej

<input id="txtDay" type="text" placeholder="DD" /> 

<input id="txtMonth" type="text" placeholder="MM" /> 

<input id="txtYear" type="text" placeholder="YYYY" /> 
<button id="but" onclick="validateDate()">Validate</button> 


    function validateDate() { 
    var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value); 

    if (date == "Invalid Date") { 
     alert("jnvalid date"); 

    } 
}