私はeonasdan datetimepickerを使用しています。オプションを使用してデフォルトの日付を選択しました。私はchrome、firefox 47.0、およびmicrosoft edje 25.1を使ってページを開いた。日付が表示されませんeonasdan datetimepicker
- Firefoxの場合:日付がテキストフィールドに表示されます。しかし、私がアドレスバー「 」に行き、「enter」を押すと、テキストフィールド に示されている日付が消えます。
- Chromeとedjeの場合:ページを開くと、テキストフィールドに日付は表示されません。
私はこの質問fiddleのフィドルを作成しました。フィドルで起こることは、Google Chromeとインターネットエクスプローラの場合と同じです。
問題を修正したdatetimepickerに 'viewDate:true'オプションを使用してみました。しかし、別の問題が生じました。カレンダーアイコンをクリックすると、カレンダーは表示されません。
なぜこれが起こっているのかわかりません。どんな助けでも大歓迎です。
フィドルで同じコードは以下の通りです:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>
Example
</title>
<link rel="stylesheet" type="text/css" media="screen" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
<link href="//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css" rel="stylesheet"/>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>
<script src="//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script>
</head>
<body>
<div class="container">
<form id="j_idt11" name="j_idt11" method="post" action="/myPage.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="j_idt11" value="j_idt11" />
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-primary">
<div class="panel-heading text-center">
My Panel
</div>
<div class="panel-body">
<div class="form-group text-right">
<label class="text-right">My Date</label>
<div class="form-group">
<div class='input-group date' id='d0'>
<input type="text" name="j_idt11:j_idt15:0:j_idt21" value="2016-09-03" class="form-control text-right" onkeydown="return false" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
<script type="text/javascript">
$(function() {
var cID = "#";
cID = cID.concat('d0');
var t = '2016-09-03'
var options = {
format: 'L',
defaultDate: moment(t)
};
$(cID).datetimepicker(options);
});
</script>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</body>
</html>
ヴィンチェンツォC。あなたが言ったことは正しいです。しかし、 'value'属性はJSF をレンダリングしたものです。これがvalue属性が存在する理由です。それ以外の場合、マネージドBeanプロパティにテキストフィールドを追加するにはどうすればよいですか? –
最終的な解決策として。これを行う方法は次のとおりです。まず、jsf の代わりにを使用します。次に、テキストフィールドは、その値がdatetimepickerから来るため、「値」属性を持つべきではありません。第三に、私はjsf に頼っていないので、フォームを送信した後にリクエストパラメータを読み、必要な処理や検証を行う必要があります。その方法については、この記事のhttps://www.mkyongで説明しています。com/jsf2/how-to-pass-new-hidden-value-backing-bean-in-jsf / –