仅使用电子邮件参数填充表单

问题描述

快速问题,我将 URL 查询发布到不同 URL 上的表单(必须使用 URL 查询某些限制)

我的帖子

let url = 'https://go.mysite.com/form.html' + '?' + 'email =' + email_id;

然后我用它来自动填充表单电子邮件

form.setValues({ Email : decodeURIComponent(document.location.search.substring('email')) }); 

问题在于它用 ?emailmail@gmail.com* 填充电子邮件部分,而不仅仅是电子邮件 ma​​il@gmail.com

我需要表单仅在它是电子邮件时填充,因为我们在表单页面上有多个 UTM 边界。

有谁知道我可以如何编辑我的代码以使其正常工作?

解决方法

我想采取不同的方法:

var address_bar_url = document.location.href
var url = new URL(address_bar_url)

var email = url.searchParams.get('email')

form.setValues({ Email : email }); 

单线解决方案:

form.setValues({ Email : (new URL(document.location.href)).searchParams.get('email') }); 

希望这能解决您的问题。