2016-07-07 6 views
0

私は日付フィールドを持つLaravelアプリケーションを持っています。日付型またはテキスト型の入力フィールド

私は「タイプ=テキスト」

<input type="date" class="form-control" id="startdate" placeholder="Start date" name="startdate" /> 

を使用する場合、私は私のデータベースに格納された値を取得します。

Iが "TYPE =日付"

<input type="date" class="form-control" id="startdate" placeholder="Start date" name="startdate" /> 

を使用すると、私はこれらのそれぞれの番号を選択するために、DD/MM/YYYY、ドロップダウン(日付ピッカー)を得ます。私はdd、mm、yyyyが私のデータベースの日付であらかじめ埋められていることを期待していました。

input = textが機能している間は、そのフィールドの任意のテキストを入力することができるので、私はそれが気に入らない。

これを行うにはどのような方法が最適ですか?入力=日付を保持し、それを修正するか、または入力=テキストに置き、サーバー側の検証を行いますか?あなたが日付フィールドがあなたのデシベルから何かを予め充填することが期待される理由

+1

を試してみてください?最初の日付を設定するための 'value'はありません。 –

+0

htmlフィールドの操作は非常に簡単なので、常にサーバー側の検証を実行する必要があります。私が考えることができる最善の方法は、HTML 5(type = date)またはjQuery datepickerプラグインのいずれかの日付を選択するためのUIを使用することです。入力を提出すると、サーバー側の入力値を検証する必要があります。 jQueryのdatepickerの利点は、簡単な検証の結果、入力形式を選択できることです。 –

+0

@MarcB正解、私は入力フィールドを設定するために、Javascript $( '#edit-auction-modal').find( 'input#startdate').val(formattedStartDate)を使用しています。他の非日付フィールドでも機能します。 – wiwa1978

答えて

0

この

function getDefaultDate(curDate){ 
var dt = new Date(curDate); 
var date = dt.getDate(); 
var month = dt.getMonth(); 
var year = dt.getFullYear(); 
if (month.toString().length == 1) { 
    month = "0" + month 
} 
if (date.toString().length == 1) { 
    date = "0" + date 
} 
return year.toString() + "-" + month.toString() + "-" + date.toString(); 
} 

var fdate = getDefaultDate(curDate); // pass db date 

document.getElementById("startdate").value = fdate; 
関連する問題