0

garlicjs-railsには、「onRetrieve」というコールバックがあります。これが、localStorageのフィールドを強調表示するための私の解決策だと思います。ここにデバッグ用のアラートがありますが、これを変更して、localStorageからデータを取得しているフィールドにクラスを追加します(つまり、一部のフィールドがDBにあり、一部が変更されていないか、変更されている既存のデータを編集します) 。

このスクリプトはgarlicjs.jsサイトからのものです

   $( 'input.no_good' ).garlic( {
      onRetrieve: function ( elem, retrievedValue ) {
      console.log( 'The retrieved value for ' + elem.name() + ' is : ' + retrievedValue );
     }
    } );

これは私が使おうとしているものです

  $("input#user_certificatenumber").garlic onRetrieve: (elem, retrievedValue) ->
    alert "The retrieved value for " + elem.name() + " is : " + retrievedValue

私には何も起きていません...IDがuser_certificatenumberの要素がlocalStorageから取得された場合、その'.garliconRetrieve'が関数をトリガーして実行することを期待しています。そうではありません。

この質問をすることで2つのことが得られることを願っています:JavaScriptをもう少しよく学び、フォーム内の1つだけでなくすべてのフィールドを監視する方法を理解し、jsを使用してクラスを追加し、から取得した入力に色を付けますlocalStorage。

4

1 に答える 1

1

フォームに追加data-persist="garlic"しましたか?

その場合、onRetrieveフォームはすでにdata-persistによってバインドされているため、リスナーはフォーム要素に適用されません。

フォーム全体に(データ永続性なしで)行を追加して、Garlicをその要素にバインドし、各フィールドにonRetrieveリスナーを登録するだけです。

$("#yourformid").garlic onRetrieve: (elem, retrievedValue) ->
    alert "The retrieved value for " + elem.name() + " is : " + retrievedValue

一番

于 2013-01-19T11:28:02.200 に答える