【问题标题】:Go to next step if field is valid EnjoyHint()如果字段有效则转到下一步 EnjoyHint()
【发布时间】:2018-08-31 08:47:07
【问题描述】:

如果字段不为空,我想进入游览的下一步。
完整代码:

var EnjoyHintWizard = /**@class*/ (function () {
    function EnjoyHintWizard() {
        var _this = this;
        this.enjoyhint_instance = new EnjoyHint({});

        this.enjoyhint_script_steps = [                
            {
                'key .field-survey-name' : __('input_survey_name'),
                keyCode : 13,
                showSkip: false
            },
            {
                'next .form-builder-start-page' : __('select_element'),
                nextButton: {
                    text: __('next')
                },
                showSkip: false
            },
            {
                'click .tab-questions' : __('select_element'),
                showSkip: false
            },               
            {
                'click .fa-map-marker' : __('go_to_point'),
                showSkip: false
            },
            {
                'click .btn-add_point' : __('click_on_btn_add_point'),
                showSkip: false
            },
            {
                'key .input-point-name' : __('fill_this_fields'),
                keyCode: 13,
                showSkip: false
            },
            {
                'custom .fields-add-point' : __('fill_this_fields'),
                event: function () {

                },
                onBeforeStart: function () {
                    console.log('this');
                   //_this.enjoyhint_instance.trigger('click_enter');
                    // var inputField = $('.input-point-name').find('input[type="text"]');
                    // console.log(inputField);
                    // $(document).ready(function() {
                    //     inputField.keyup(function (event) {
                    //         if (event.keyCode === 13) {
                    //             console.log('entered');
                    //             if (inputField.val() || inputField.val() !== '') {
                    //                 _this.enjoyhint_instance.trigger('click_enter');
                    //             }
                    //         }
                    //     });
                    // });
                },
                showSkip: false
            },
            {
                'custom .btn-save-point' : __('click_save_point'),
                event: 'custom_event_name',
                onBeforeStart: function () {
                        _this.enjoyhint_instance.trigger('custom_event_name');
                        console.log(_this.enjoyhint_instance.getCurrentStep());
                },
                showSkip: false
            },               
            {
                'click .btn-download-sticker' : __('click_btn_download'),
                skipButton: {
                    text: __('skip')
                }
            }
        ];
    }

    EnjoyHintWizard.prototype.startTour = function () {
        this.enjoyhint_instance.set(this.enjoyhint_script_steps);
        this.enjoyhint_instance.run();
    };

    EnjoyHintWizard.prototype.resumeTour = function () {
        this.enjoyhint_instance.reRunScript(13);
    };       
    return EnjoyHintWizard;
}());

当我按下按钮时进入执行下一步,尽管前一个字段如果为空。 这是我的所有代码。我尝试为自定义事件添加触发器,但没有帮助。 我看官方文档,但他很短https://github.com/xbsoftware/enjoyhint

【问题讨论】:

  • 请给出完整代码
  • @SourabhSomani 添加了完整代码。请看。
  • 请在 JsFiddle 或 sn-p 中提供 minimal reproducible example... 这会更容易提供帮助,因为我们还可以测试代码,如果它应该执行下一步已验证?全部还是哪些?

标签: javascript jquery enjoyhint


【解决方案1】:

我用下一个方法解决了这个问题:

 {
    'custom .input-name' : __('fill_name'),
     event: 'enter_name',
     showSkip: false,
     onBeforeStart: function () {
        this.isValid('input-name', 'enter_name');
     }
 }

我会为进入下一步制作自定义事件,并在我的有效字段中使用它的方法onBefforeStart,如果它是有效的调用事件,则进入下一步的游览。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    相关资源
    最近更新 更多