JQuery не работает в пользовательской теме shopify - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь пометить своего клиента на основании его адреса электронной почты при регистрации. до этого jQuery работал нормально, когда он был добавлен в customer / register.liquid, даже если я вставил в theme.liquid в теме 'Debut'. это код.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<input type="hidden" id="customer_tags" name="customer[tags]"/>
        <script>
            jQuery('#{{ formId }}-email').on('input', function() {
         val = jQuery(this).val()
  if (val.indexOf('mycompany.com') !== -1) {
jQuery('#customer_tags').val('employee')
  } else {
  jQuery('#customer_tags').val('')
  }
          });</script>

Однако, когда я выбираю другую тему, установка кода не сможет создать для меня авто-тег при регистрации. Дело в том, что для новой темы регистрационная форма отображается вместе с регистрационной формой на странице следующим образом:

{% section 'registration-form' %}

в регистрационной форме я добавил jquery и сопоставил с идентификатор электронной почты тем:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
{% form 'create_customer' %}
            {{ form.errors | default_errors }}

            <div id="first_name" class="clearfix large_form">
                <label for="first_name" class="login">{{ 'customer.register.first_name' | t }}</label>
                <input type="text" value="" name="customer[first_name]" id="first_name" class="large" size="30" />
            </div>

            <div id="last_name" class="clearfix large_form">
                <label for="last_name" class="login">{{ 'customer.register.last_name' | t }}</label>
                <input type="text" value="" name="customer[last_name]" id="last_name" class="large" size="30" />
            </div>

            <div id="email" class="clearfix large_form">
                <label for="email" class="login">{{ 'customer.register.email' | t }}</label>
                <input type="email" value="" name="customer[email]" id="email" class="large" size="30" />
                <input type="hidden" id="customer_tags" name="customer[tags]"/>
                <script>
                    jQuery( document ).ready(function() {
                    jQuery('#email').on('input', function() {
                    val = jQuery(this).val()
                        if (val.indexOf('yspsah.com') !== -1) {

                          jQuery('#customer_tags').val('employee')
                    } else {

                        jQuery('#customer_tags').val('')
                     }
                })});</script>
            </div>

Однако на этот раз автотег не работает. даже если я поставлю jquery на theme.liquid, проблема все равно не решится. У кого-нибудь есть идеи, что я должен попытаться решить это? спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...