2016-05-02 73 views
2

私はフィールドを持っている.NETのmvcアプリケーションを作った。 iPhone(Safari)では、このフィールドをクリックすると、ネイティブのiOsの日付ピッカーが表示されます。 それは働く、私は日付を選択し、それを確認して( "完了"ボタンで)フォームを送信することができます。iOs Safari:クリア入力の日付

iPhone's datepicker

それから私は、このページに再びアクセスします。日付は、すでにに付加価値化されます。 例えば、私はこれを持っています。

<input type="date" value="2012-06-30"> 

が、私はそれを変更することができますが、私は相対的なボタンと、それをクリアすることはできません。日付はまだフィールドにあります。 このフィールドに新しい日付を入力して「Clear」を押すと、以前の値(2012年6月30日)に戻ります。

私はそれを読み込むときに日付のフィールドが空白の場合、私はそれを評価することができますし、クリアを押すと、フィールドは空になります。

したがって、「クリア」ボタンは実際にはフィールド内の日付を消去しませんが、ユーザーに表示されたときにフィールドが持つの属性に基づいてそれを強調します。

Javascriptを使用せずに「クリア」ボタンをクリックすると、どのようにクリアできますか?

ありがとうございました

P.S. デスクトップブラウザ(Chrome、IE、FF、Edge)では、ネイティブのdatepickerで正常に動作します。

答えて

0

これは、iOSに取り組む上で興味深い問題でした。 参考のために、私はiOS Safariを使用していません。代わりに、ハイブリッドアプリにwkwebviewを使用しています。clearボタンは、入力フィールドのdefaultValueを取得してからvalueプロパティをそのdefaultValueに復元するようです。この値は明らかにHTMLでアクセス可能なプロパティではありませんが、JavaScriptで変更することができます。

まず、日付入力用にfocusイベントハンドラを設定する必要があります。その後、ハンドラで行う必要があるのはdefaultValue:evt.currentTarget.defaultValue = '';です。

私はこれがあなたの問題の解決に役立つことを願っています!

+0

この方法の問題点は、datepickerを開いたときに、変更日なしに[完了]をクリックすると、値もクリアされます。 – calfzhou

関連する問題