javascript - 停止表单操作重定向或 href 重定向

标签 javascript jquery ajax redirect shopify

请帮忙。我正在尝试将 Shopify 购物车集成到 Shopify 本身之外。基本上,我需要提交一份表单并防止其重定向,这样我就可以允许客户在结账之前添加他想要的所有商品,而不是一个。

我尝试了两种方法:

仅使用链接的第一种方法:

<a href="http://statevintage.myshopify.com/cart/add" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; var v = document.createElement('input'); v.setAttribute('type', 'hidden'); v.setAttribute('name', 'id'); v.setAttribute('value', '281514140'); f.appendChild(v); var r = document.createElement('input'); r.setAttribute('type', 'hidden'); r.setAttribute('name', 'return_to'); r.setAttribute('value', 'back'); f.appendChild(r); f.submit(); return false;">BUY NOW</a>

第二种方法使用带有 return_to 的表单提交:

<form action="http://statevintage.myshopify.com/cart/add" method="post">
<input type="hidden" name="id" value="281514140" />
<input type="hidden" name="return_to" value="back" />
<input type="submit" value="BUY NOW" />
</form>

无论我做什么,即使使用 return false 脚本,我仍然会被发送到结账!

这家伙使用相同的表单功能,只是带有数量选项,http://sageinvoices.co.uk/但由于某种原因,直到你真正结账之前,它永远不会离开他的网站。这应该是因为

 <input type="hidden" name="return_to" value="back" />

我已经关注了我能找到的每个维基,但我无法阻止表单重定向到我的结账页面。我计划生成购物车计数和商品显示,然后允许用户在需要时结账。我也无法为我的客户更改平台!它必须适用于shopify。我也不能使用他们的应用程序或 iframe 方法。该网站必须跨浏览器兼容且速度快。

最佳答案

如果您 f.submit() 表单,它会执行其说明的操作:提交表单;-)

可以阻止默认的提交行为,例如使用 jQuery:

$('#target').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});

关于javascript - 停止表单操作重定向或 href 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261365/

相关文章:

javascript - 自动完成:以不同的颜色显示未完成的字符

Javascript indexOf() 和下划线

javascript - 带有回调的 Node Cron 在调用退出后出现 Cannot enqueue Handshake 错误

javascript - Oracle APEX预加载音频文件

javascript - Angular 4 PWA Service Worker 在有新更新可用时不会更新

jquery - 从 AJAX 的许多页面中序列化独特的表单。适用于 FF/Safari,但 IE 会序列化页面上的所有表单

javascript - 从 javascript/jquery 中的 formData 中删除特定文件

jquery - .val() 未返回正确的值

jquery - 如何使用 jQuery 将 WTForms TextField 动态添加到 FieldList?

php - 如何保护我的 AJAX 服务?