jQuery在自定义主题shopify中不起作用

时间:2020-02-13 02:28:05

标签: javascript jquery shopify liquid

我正在尝试在注册过程中根据客户的电子邮件为客户添加标签。在此之前,即使我在'Debut'主题中添加了theme.liquid,将jQuery添加到customer / register.liquid中时,jQuery仍能正常工作。这是代码。

<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,并与主题电子邮件ID匹配:

<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上,仍然无法解决问题。 有人有其他想法我应该尝试解决吗?谢谢!

0 个答案:

没有答案
相关问题