我正在尝试在注册过程中根据客户的电子邮件为客户添加标签。在此之前,即使我在'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上,仍然无法解决问题。 有人有其他想法我应该尝试解决吗?谢谢!