当前位置: 代码迷 >> JavaScript >> 如何覆盖javascript表单小部件的属性
  详细解决方案

如何覆盖javascript表单小部件的属性

热度:37   发布时间:2023-06-13 12:43:12.0

我正在尝试从我的页面上的现有JavaScript表单小部件覆盖2个属性,我不太确定如何去做:

  1. 我想在表单提交时重定向到不同的URL。
  2. 我需要在表单提交时将数据点推送到具有id ='prospects_referral_type'的终端系统

这是表单小部件当前存在的网站: :

这是小部件的脚本:

<script src="https://widgets.healcode.com/javascripts/healcode.js" type="text/javascript"></script>

<healcode-widget data-type="prospects" data-widget-partner="object" data-widget-id="8423870a150" data-widget-version="0"></healcode-widget>

这是使用Tamb代码的完整实现的简化版本,但仍然无法使重定向工作:

<html>
<head>
<meta charset="utf-8">

<script> 
$('healcode-widget').submit((e)=>{
  e.preventDefault();
  myAjaxPost();

window.location.replace("https://jabzboxing.fitness/thankyou");

})
</script>

</head>
<body>

<script src="https://widgets.healcode.com/javascripts/healcode.js" type="text/javascript"></script>

<healcode-widget data-type="prospects" data-widget-partner="object" data-widget-id="8423870a150" data-widget-version="0"></healcode-widget>

</body>
</html>

我想这就是你要求的。

要更新表单的发布位置:

jQuery('form[id^=prospect_form').attr('action', 'http://stackoverflow.com')

要添加其他字段:

jQuery('form[id^=prospect_form').append('<input id="prospects_referral_type" type="hidden"/>')

请记住,此代码必须在加载表单后运行,但不必提交。

所以有很多方法可以做到这一点:

客户端:

通过AJAX提交表单(注意:有很多方法可以做到这一点)。 找出您希望支持的最早的浏览器。 如果jQuery没问题,请使用他们的ajax方法并在表单提交时提交给相应的端点。

$('form').submit((e)=>{
  e.preventDefault();
  myAjaxPost();

//on the .success method of the ajax POST you can simply do one of these

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

})

服务器端:

处理后端的帖子,并在成功时简单地重新路由。 考虑到你的后端可能是.NET,Node,PHP,这可以采取多种形式。 IDK。

  相关解决方案