Liquid、JavaScriptなどに関する質問
初めまして。ご覧くださりありがとうございます。
現状こちらの記事を参考に会員登録成功時に登録完了ページに遷移、失敗時には会員登録ページを再度表示させることはできました。
https://qiita.com/br-to/items/a35f809e89b9caa31170
ですが、上記記事の最終ステップであるエラーの表示がうまくいかず、遷移設定の前にあったエラー表示もでなくなりました。(必要な情報がそろっていない場合、すでに登録済みのメールアドレスである場合のエラーなど)
会員登録失敗の場合エラー表示させるにはどうすればよいか、どなたかご教示いただけませんでしょうか。
▼現状のコード ▼
</body>のすぐ上
{{ '//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js' | script_tag }}
<!-- Handle registration redirect -->
<script>
$(document).ready(function(){
var $returnTo = $('<input type="hidden" name="return_to" value="/pages/register_completed" />');
if ($('#create_customer').length > 0){ //if registration form
$returnTo.insertBefore($('#create_customer input[type="submit"]')); // add return_to input
} else if ($('#g-recaptcha').length){ //if captcha form
$returnTo.insertBefore($('.shopify-challenge__container input[type="submit"]'));
}
});
</script>
</body>
最上部に{% style %}、{% endstyle %}のすぐ下
{% unless customer %}
<script>
location.href = '/account/register';
localStorage.setItem('register_failed', true);
</script>
{% endunless %}
{% style %}
.error-hide{
display:none;}
{% endstyle %}
<div class="central" id="template">
<div id="customer">
<!-- Create Customer -->
<div id="create-customer">
<div class="template_header">
<h1 class="h2 feature-header" data-cc-animate>{{ 'customer.register.title' | t }}</h1>
{% form 'create_customer' %}
{{ form.errors | default_errors }}
<div class="form">
<div class="input-row" data-cc-animate data-cc-animate-delay="0.2s">
<input aria-label="{{ 'customer.register.last_name' | t }}" placeholder="{{ 'customer.register.last_name' | t }}" type="text" value="" name="customer[last_name]" id="last_name" class="large" size="30" />
</div>
・・・・・・
<div class="input-row" data-cc-animate data-cc-animate-delay="1.05s">
<input aria-label="{{ 'customer.register.password' | t }}" placeholder="{{ 'customer.register.password' | t }}" type="password" value="" name="customer[password]" id="password" class="large password" size="30" />
</div>
<div class="wide-action">
<input type="submit" value="{{ 'customer.register.submit' | t }}" data-cc-animate data-cc-animate-delay="0.8s"/>
<span class="note" data-cc-animate data-cc-animate-delay="1.3s">
<a data-cc-animate-click href="{{ routes.root_url }}">
{{ 'customer.register.cancel' | t }}
</a>
</span>
</div>
</div>
{% endform %}
</div>
<div class="error text-center error-hide">
<p>会員登録エラー</p>
</div>
</div>
</div>
<script>
$(document).ready(function() {
if (localStorage.getItem('register_failed') === 'true') {
$('.error').removeClass('error-hide');
localStorage.removeItem('register_failed');
};
});
</script>
何卒よろしくお願いいたします。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025