Liquid、JavaScriptなどに関する質問
フッターにニュースレター登録を配置しているのですが、バリデーションの挙動が少しおかしいです。
ケース①
お問合せフォーム内のメールアドレスを空欄にしたまま送信すると、お問合せフォームのメールアドレス欄だけでなく、ニュースレターのメールアドレス欄にも「メール 無効です.」が表示される。
ケース②
ニュースレター登録時、「ご登録ありがとうございます!」の文言が出るときと出ないときがある。なお、出ないときのほうが多い。
ケース①については、お問合せフォームとニュースレターでメールアドレスを入力するinputのidやnameが同じだったので、試しにニュースレター側のidとnameを変更してみたものの、挙動は変わりませんでした。
仕様やバグによるもので直せないものなのか、また開発側で回避策があるならばその方法が知りたいです。
よろしくお願いします。
テーマによる部分もあると思うのでなんとも言えませんが、①に関してはおそらく以下の状態かと思います。
お使いのテーマ内で該当のフォームのクラス名などを検索して場所を特定すると、実際にどのような仕組みでエラーが表示されるかの確認ができると思います。
form.errorに関しては以下が該当します。
https://shopify.dev/api/liquid/objects/form#form-errors
form.errorで返される文字列の中にはidなどはないようなので、結果としてフォームの判別ができない状態です。
②に関してもテーマによるかもしれませんが、おそらくform.posted_successfully?で分岐させていると思われるので、その辺りの動作を確認されると状況が把握できるかもしれません。
https://shopify.dev/api/liquid/objects/form#form-posted_successfully
■別の対応方法
未入力チェックであれば、送信前に独自でバリデーションを行うことである程度の対応はできると思います。
その場合は手法によりJSやHTMLの知識が必要なので、その方面の情報を探されるかエキスパートやパートナーに依頼されることをお勧めします。
対象は違いますが方向性としては以下のスレッドが類似かと思います。
以上ですが、テーマの作成者に質問されることもお勧めします。
Shopify製のテーマの場合であれば以下のような無料サポートが受けられるかもしれません。
https://help.shopify.com/ja/manual/online-store/themes/theme-support#part-5ad7f21e8d34326a
ユーザー | ランク |
---|---|
46 | |
30 | |
22 | |
4 | |
4 |
山田繊維株式会社(むす美)は京都の地で風呂敷製造卸売業:山田貫七商店として昭和12年に創業。メイン商材は1000年以上前から使われているという記録がある風呂敷で、その他ハンカチや袱...
By Nanami Jan 12, 2023過去に失われた売り上げを回復するには?Shopifyの新しい自動化機能を活用し、失われた売り上げを簡単に回復する方法を学びましょう!
By Mirai Jan 10, 2023オンラインストアの構築が完了しましたら、一般公開をする前にいくつかのテスト注文を行い、チェックアウトプロセスを確認することが大事です。Shopifyペイメントをご利用いただいている...
By rinaflora Dec 4, 2022