garlicjs-rails - 如果加载了localStorage数据,则提醒用户

时间:2013-01-17 23:58:15

标签: javascript ruby-on-rails-3 local-storage

garlicjs-rails有一个名为'onRetrieve'的回调。我认为这是我的解决方案,突出显示哪些字段来自localStorage。我现在在这里有一个警报只是为了调试,但是会改变它以向那些从localStorage获取数据的字段添加一个类(即编辑现有数据,其中某些字段在数据库中,而某些字段没有或已经更改)

此脚本来自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

我什么都没发生......我期待的是,如果从localStorage中检索到具有id user_certificatenumber的元素,那么'.garlic onRetrieve'将触发并运行该函数。不是这样。

我希望我可以通过提出这个问题得到两件事:更好地学习javascript并弄清楚如何在表单中观看所有字段,而不仅仅是一个,然后使用js添加类并为那些输入添加颜色从localStorage检索。

1 个答案:

答案 0 :(得分:1)

您是否在表单上添加了data-persist="garlic"

如果是这样,您的onRetrieve侦听器不会应用于您的表单元素,因为表单已经被数据持久化绑定。

只需将你的行添加到整个表单(没有数据持久化)就可以在其元素上绑定Garlic并在每个字段上注册onRetrieve监听器

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

最佳