Javascript 使用表单字段值作为隐藏字段中的URL参数

Javascript 使用表单字段值作为隐藏字段中的URL参数,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个表单,有几个文本字段和一个隐藏字段。隐藏字段值需要构造为URL,其他字段值作为参数 只有在我开始键入表单的第一个字段时,才会填充隐藏字段值,而不是其他字段,除非我返回到第一个字段并更新它。 我需要在输入时立即更新隐藏字段。在下面的示例中,为了便于测试,我显示了隐藏字段(shortDescription) 我猜隐藏字段也需要进行URL编码,因为值可能是可以破坏URL的字符(如@、、等),但不确定如何进行 以下是代码: shortName=$(“#webform-client-form-2

我有一个表单,有几个文本字段和一个隐藏字段。隐藏字段值需要构造为URL,其他字段值作为参数

只有在我开始键入表单的第一个字段时,才会填充隐藏字段值,而不是其他字段,除非我返回到第一个字段并更新它。 我需要在输入时立即更新隐藏字段。在下面的示例中,为了便于测试,我显示了隐藏字段(shortDescription)

我猜隐藏字段也需要进行URL编码,因为值可能是可以破坏URL的字符(如@、、等),但不确定如何进行

以下是代码:

shortName=$(“#webform-client-form-2548#编辑提交的uw Gevens名字”);
shortLastname=$(“#webform-client-form-2548#编辑提交的uw gegevens姓氏”);
shortPhone=$(“#webform-client-form-2548#编辑提交的联系信息电话”);
shortEmail=$(“#webform-client-form-2548#编辑提交的联系信息电子邮件”);
shortDescription=$(“#webform-client-form-2548.webform组件--描述输入”);
$(shortName,shortLastname,shortEmail,shortPhone).on('input change blur keyup',function(){
$(shortDescription).val('https://example.com/link/product?first_name=“+shortName.val()+”&last_name='+shortLastname.val()+”&email='+shortEmail.val()+'&phone='+shortPhone.val());
});

沃纳姆*
阿切特南*
因为您的元素:

shortName 
shortLastname
shortPhone
shortEmail
shortDescription
已经是jquery元素,不能使用以下表单组合它们:

$(shortName,shortLastname,shortEmail,shortPhone).
但您可以使用,以便:

创建一个新的jQuery对象,将元素添加到匹配的 元素

shortName=$(“#webform-client-form-2548#编辑提交的uw Gevens名字”);
shortLastname=$(“#webform-client-form-2548#编辑提交的uw gegevens姓氏”);
shortPhone=$(“#webform-client-form-2548#编辑提交的联系信息电话”);
shortEmail=$(“#webform-client-form-2548#编辑提交的联系信息电子邮件”);
shortDescription=$(“#webform-client-form-2548.webform组件--描述输入”);
shortName.add(shortLastname.add(shortEmail.add(shortPhone)).on('input change blur keyup',function()){
$(shortDescription).val('https://example.com/link/product?first_name=“+shortName.val()+”&last_name='+shortLastname.val()+”&email='+shortEmail.val()+'&phone='+shortPhone.val());
});

沃纳姆*
阿切特南*
因为您的元素:

shortName 
shortLastname
shortPhone
shortEmail
shortDescription
已经是jquery元素,不能使用以下表单组合它们:

$(shortName,shortLastname,shortEmail,shortPhone).
但您可以使用,以便:

创建一个新的jQuery对象,将元素添加到匹配的 元素

shortName=$(“#webform-client-form-2548#编辑提交的uw Gevens名字”);
shortLastname=$(“#webform-client-form-2548#编辑提交的uw gegevens姓氏”);
shortPhone=$(“#webform-client-form-2548#编辑提交的联系信息电话”);
shortEmail=$(“#webform-client-form-2548#编辑提交的联系信息电子邮件”);
shortDescription=$(“#webform-client-form-2548.webform组件--描述输入”);
shortName.add(shortLastname.add(shortEmail.add(shortPhone)).on('input change blur keyup',function()){
$(shortDescription).val('https://example.com/link/product?first_name=“+shortName.val()+”&last_name='+shortLastname.val()+”&email='+shortEmail.val()+'&phone='+shortPhone.val());
});

沃纳姆*
阿切特南*

您可以简单地将事件委托给表单中的所有输入,结果输入除外(添加到HTML中的
id=“result”

然后您可以将结果保存到变量中并对其进行编码,然后放入文件中

  var url = 'https://example.com/link/product?first_name=' + shortName.val() + '&last_name=' + shortLastname.val() + '&email=' + shortEmail.val() + '&phone=' + shortPhone.val();
  var uri = encodeURI(url);
  $(shortDescription).val(uri);
了解和

示例:
shortName=$(“#webform-client-form-2548#编辑提交的uw Gevens名字”);
shortLastname=$(“#webform-client-form-2548#编辑提交的uw gegevens姓氏”);
shortPhone=$(“#webform-client-form-2548#编辑提交的联系信息电话”);
shortEmail=$(“#webform-client-form-2548#编辑提交的联系信息电子邮件”);
shortDescription=$(“#webform-client-form-2548.webform组件--描述输入”);
$(“#webform-client-form-2548输入:非(#结果)”)。在('input change blur keyup',function()上{
var url='1〕https://example.com/link/product?first_name=“+shortName.val()+”&last_name='+shortLastname.val()+”&email='+shortEmail.val()+'&phone='+shortPhone.val();
var uri=encodeURI(url);
$(shortDescription).val(uri);
var dec=解码组件(uri);
console.clear();
console.log(uri)
控制台日志(12月)
});

沃纳姆*
阿切特南*

您可以简单地将事件委托给表单中的所有输入,结果输入除外(添加到HTML中的
id=“result”

然后您可以将结果保存到变量中并对其进行编码,然后放入文件中

  var url = 'https://example.com/link/product?first_name=' + shortName.val() + '&last_name=' + shortLastname.val() + '&email=' + shortEmail.val() + '&phone=' + shortPhone.val();
  var uri = encodeURI(url);
  $(shortDescription).val(uri);
了解和

示例:
shortName=$(“#webform-client-form-2548#编辑提交的uw Gevens名字”);
shortLastname=$(“#webform-client-form-2548#编辑提交的uw gegevens姓氏”);
shortPhone=$(“#webform-client-form-2548#编辑提交的联系信息电话”);
shortEmail=$(“#webform-client-form-2548#编辑提交的联系信息电子邮件”);
shortDescription=$(“#webform-client-form-2548.webform组件--描述输入”);
$(“#webform-client-form-2548输入:非(#结果)”)。在('input change blur keyup',function()上{
var url='1〕https://example.com/link/product?first_name=“+shortName.val()+”&last_name='+shortLastname.val()+”&email='+shortEmail.val()+'&phone='+shortPhone.val();
var uri=encodeURI(url);
$(shortDescription).val(uri);
var dec=解码组件(uri);
console.clear();
console.log(uri)
控制台日志(12月)
}