2017-06-20 9 views
0

私のウェブサイトは、タイプ= '時間'入力フィールドに入力されたテキストのフォーマットを変更している角度材料を使用しています。私はこのテキストに対して主張することができるようにしたいと思いますが、それを得るための方法のどれもが実際のテキストを表示しているわけではありません。入力エレメントの表示テキストの取得

私は、value、valueAsDate、textContent、innerHTMLの要素プロパティを試しました。

また、jqliteのval()メソッドも試しました。

ここに私の問題を実証codepenです:https://codepen.io/carlins/pen/JJNJab

//displayed text is 02:57 PM 
document.querySelector('input').value   // 14:57:00.000 
document.querySelector('input').valueAsDate // 1970-01-01T14:57:00.000Z 
document.querySelector('input').textContent // empty 
document.querySelector('input').innerHTML  // empty 
angular.element(document).find('input').val() // 14:57:00.000 
+0

それが現在といただきました!あなたが期待したものである:私は、日付フィルタ用here

リファレンス作品を試してみましたか? – alphapilgrim

+0

タイプ '日付'のINPUTボックスはありますか? – rxgx

+0

@alphapilgrim期待値はコードブロック –

答えて

0

、要素から取得が、データだけで遊ぶべきではありません、あなたがビューで表示する必要がある場合は、必要がある場合は、 {{time | date:'h:mm a'}} のようにフィルタ日付を使用することができますJavascriptで値を取得するには、time変数でdateformatを再生してください。

+0

入力要素で既に使用されている日付形式を参照する方法はありますか?私は何がそこにあるべきであるかについて尋ねることで大丈夫になるだろうが、私は角の日付フォーマットにも慣れていない。それは不安定な地面に私のテストを置くだろう。 –

+0

Javascriptの 'date'を使って再生する最も簡単な方法は、' moment'を使用していますが、余分なサイズがあります。 'new Date()。toTimeString()。split( '')[0]'のような独自の関数を使用することができます。 – mazipan

0

あなたの入力にはdatetime値があるので、入力値を取得するときにdatetimeを取得します。あなたはあなたが望むように日付の文字列を取得するために日付フィルターを使用することができます角度。 https://docs.angularjs.org/api/ng/filter/date

$scope.timeInnerHTML = function(){ 
     return $scope.time; 
} 

"{{timeInnerHTML() | date:'@h:mma'}}" 
関連する問題