33940


ruby on railsでintro.jsを使用ししたいと思っています。複数ページで利用してます。  
が、inputフィールドに２つintroを設定したところ２つめのところでエラーが出ます。

[code]

        = f.text_field :hoge_sales, class: 'form-control', 'data-step':3, 'data-intro': '売上入力してちょ'
    
        = f.text_field :poge_cost, class: 'form-control', 'data-step':4, 'data-intro': '入力してちょ'
    
[/code]

コンソールに出ているエラーは↓こんな感じです。解決法ご存知でしたら教えてください。

[code]

    Uncaught TypeError: Cannot set property 'className' of null
    at introjs.self-8070938….js?body=1:18
    (anonymous) @ introjs.self-8070938….js?body=1:18
    
[/code]

jsの中身を見るとエラーが出てる箇所はココのようです。d.querySelectorのとこ

[code]

                b._lastShowElementTimer = setTimeout(function() {
                null != f && (f.innerHTML = a.step);
                h.innerHTML = a.intro;
                s.style.display = "block";
                H.call(b, a.element, s, p, f);
                d.querySelector(".introjs-bullets li > a.active").className = "";
    
[/code]


CC BY-SA 3.0
2017-04-10T14:12:10.550
33912
2017-04-12T02:27:09.380
2017-04-10T23:40:36.560
10851
10851
question
javascript ruby-on-rails rubygems
intro.js inputに二つ以上設定するとエラーになる


複数ページを遷移すると発生する問題らしいです。workroundとしてclassNameに値を入れてあげると動くようになりました。

[code]

      if RegExp('multipage=2', 'gi').test(window.location.search)
          introJs().setOption('showStepNumbers', false).start()
          $('.introjs-bullets li a')[0].className = 'active'
    
[/code]

もっといい解決方法があれば教えてください


CC BY-SA 3.0
2017-04-12T02:27:09.380
33940
2017-04-12T02:27:09.380
10851
33912
answer