我尝试在shopify注册表单的末尾添加客户重定向。它将成功地重定向客户,但他们可能错误地填写表单和/或留下空白部分。如果我删除了重定向,如果客户没有正确填写,则会在表单中出现错误。我试过这两种方法(加上Chatgpt推荐的所有方法),但都不起作用。
<input type="hidden" name="return_to" value="/account/addresses">
和
<script>
(function() {
var REDIRECT_PATH = '/account/addresses';
var selector = '#create_customer, form[action$="/account"][method="post"]',
$form = document.querySelectorAll(selector)[0];
if ($form) {
$redirect = document.createElement('input');
$redirect.setAttribute('name', 'return_to');
$redirect.setAttribute('type', 'hidden');
$redirect.value = REDIRECT_PATH;
$form.appendChild($redirect);
}
})();
</script>
表单提交时,由Shopify的后端处理。然后用响应的新信息刷新页面。
我不相信你可以用Javascript手动发送这个表单。
你可以检查(使用液态表单对象)表单是否被成功提交,然后通过Javascript重定向。
{% if form.posted_successfully? %}
<script>
window.location.assign(/* url */);
</script>
{% endif %}
请注意,这是一个解决方法,并且客户端将被重定向两次,一次是在提交表单时,另一次是使用Javascript。