【发布时间】:2016-09-26 13:19:04
【问题描述】:
我使用的是 Shopify 主题,我已根据需要对其进行了编辑。我选择将时事通讯订阅表单从页面底部移到顶部,以便将其嵌入到主图像中。当用户提交表单时,页面跳转到底部(表单曾经所在的位置)。下面是网站和表单的代码。
www.hoo-gah.co.uk
<div class="signup-form">
{% if settings.footer_signup_action == empty %}
{% form 'customer' %}
{% if form.posted_successfully? %}
<h4>{{ 'layout.signup.post_success' | t }}</h4>
<script>window.scroll(0,1000000)</script>
{% else %}
<input type="hidden" id="contact_tags" name="contact[tags]" value="prospect,newsletter"/>
<span class="input-block">
<input type="email" placeholder="{{ 'layout.signup.email' | t }}" class="required" value="" id="mailinglist_email" name="contact[email]" /><input class="compact" type="submit" value="Subscribe" />
</span>
{% if form.errors %}
{% for field in form.errors %}
<p class="error">{{ field | capitalize }} - {{ form.errors.messages[field] }}</p>
{% endfor %}
{% endif %}
{% endif %}
{% endform %}
{% else %}
<form action="{{ settings.footer_signup_action }}" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<span class="input-block hero-input">
<input type="email" class="required email" placeholder="{{ 'layout.signup.email' | t }}" value="" id="mce-EMAIL" required name="EMAIL" /><input class="compact" type="submit" name="subscribe" value="Subscribe" />
</span>
</form>
{% endif %}
</div>
我认为 window.scroll(0,1000000) 行会对此负责,但是即使我删除该行或将值更改为 (0,0) 屏幕仍然会在提交时跳转,所以我想知道这是否在某处被覆盖。
如果有人对如何使页面滚动到顶部而不是底部有任何想法,将不胜感激。
感谢您的宝贵时间!
【问题讨论】:
-
没有看到你的 JavaScript 很难说,但你试过点击
event.preventDefault();吗? -
我在类似的帖子中将此视为解决方案,但有人建议这会阻止表单完全提交。
-
除非您使用 JavaScript 提交表单。由你决定。你能把所有相关的 JS 都贴出来吗?
-
恐怕找不到相关的JS。正如你所看到的,我有点超出我的深度!我认为 OZ 有所作为,但是在 settings_data.json 文件中编辑表单操作值会产生一些意想不到的效果。
标签: javascript jquery html css forms