2017-10-22 9 views
-1

ユーザーに入力するための入力フィールドはtype="date"ですが、レールの隠し入力フィールドに入るにはこの値が必要です。Rails input falseを返す

これは私がしようとしていると、コードが... ものです(disabled属性がチェックされているチェックボックスに削除されるが、これは問題ではありません)

<input disabled id="scheduled-date" class="form-control" type="date" value="<%= f.object.published_on %>"></input>

<%= f.input :published_on, as: :hidden, input_html: { value: f.object.published_on } %>

したがって、入力1の値は'28/10/2017 'ですが、レールの入力フィールドはfalseと表示されます。

どこが間違っているのか、値が異なる理由がわかりません。

+0

ソリューション –

答えて

0

あなたが書き込むコードが正しい場合でも、ユーザが<input id='scheduled-date'>をクリックして日付を変更/入力すると、そのフィールドを値で更新する必要があります。これは最良のコードではなく、必要なものの例です。

ユーザーの焦点は、あなたがまだあなたが他の誤差がある場合があり、新しい値を取得し、id='published_on'

$('#schedule-date').focusout(function(){ 
    var value = $('#schedule-date').value(); 
    $('#published_on').value(value); 
}) 

と他のレールの入力フィールドの値を変更する必要がid='scheduledate'とその入力フィールドの外に出るたびにあなたのソリューションですが、基本的なアイデアは、あなたがそれを設計する方法です、それはサーバーがHTTPリクエストを終了するときにその入力フィールドのみを変更するので、ページがロードされるときには、{ value: f.object.published_on }がセットされ、ユーザーがその入力フィールドからフォーカスを外に出すたびに機能します。あなたのコードが動作している場合

、それは要求(ページの読み込みの終了)を取得するだけで最初のhttpの終わりにそうやっている、あなたは

<input disabled id="scheduled-date" class="form-control" type="date" value="<%= f.object.published_on %>"></input> 

値を与えることによってこれをテストすることができますそのためには、他の入力フィールド

<%= f.input :published_on, as: :hidden, input_html: { value: f.object.published_on } %> 

にもページをロードするとき、その値を取得

+0

こんにちは、答えファブリツィオてくれてありがとう、私はfocusou上のドキュメントを読んを共有してくださいあなたに新しい何かを学んだ!私はこれを試してみたが、それ以前に私が行っていたことは、JSの中で私が関係していなかったことを認識していたので、ついにそれを働かせましたが、もう一度あなたの時間に感謝します! –

+0

@ジェームズクラークあなたの問題に詳細な解決策を共有する必要がstackoverflow –