繁体   English   中英

如何使用URL参数填充空白值而不是“ undefined”的字段?

[英]How do I populate fields with a blank value instead of “undefined” using URL Parameters?

我的URL使用我创建的URL参数预填充表单。 当前,如果未设置该参数,则该值将由“ undefined”填充。 我希望这是空白。

以下是带有预填表格的网站链接:

www.test.co.uk/test/?ID=0000000000&App=L3%20Business%20Administrator&DOB=19/8/2019&FName=Test&SName=Test&Emp=Skillswork

这是设置参数的脚本。 我要对脚本进行哪些调整以填充空白值而不是“ undefined”?

<script text="text/javascript"> 
     var getUrlParameter = function getUrlParameter(sParam) {
         var sPageURL = decodeURIComponent(window.location.search.substring(1)),
             sURLVariables = sPageURL.split('&'),
             sParameterName,
             i;
         for (i = 0; i < sURLVariables.length; i++) {
             sParameterName = sURLVariables[i].split('=');
             if (sParameterName[0] === sParam) {
                 return sParameterName[1] === undefined ? true : sParameterName[1];


             }
         }
     };

     var VARIABLE = getUrlParameter('PARAMETER');

     if (VARIABLE != null) {
          document.getElementById('INPUT-FIELD-ID').value = VARIABLE;
     }

var NationalInsuranceNumber = getUrlParameter('Nin');
var Gender = getUrlParameter('Gen');
var Address = getUrlParameter('Add');
var Postcode = getUrlParameter('Pcode');
var Email = getUrlParameter('Email');
var Mobile = getUrlParameter('Mob');
var HomeNumber = getUrlParameter('Home');

document.getElementById('00N1n00000SwuWV').value = NationalInsuranceNumber;
document.getElementById('00N1n00000SwuWk').value = Gender;
document.getElementById('00N1n00000SwuWa').value = Address;
document.getElementById('00N1n00000SwuWf').value = Postcode;
document.getElementById('00N1n00000SwuWp').value = Email;
document.getElementById('00N1n00000SwuWu').value = Mobile;
document.getElementById('00N1n00000SwuWz').value = HomeNumber;
</script>

我希望用“空白”值而不是“未定义”填充字段

感谢您提供的所有帮助。

如果参数Nin为null或未定义,则此代码将“”分配给NationalInsuranceNumber。

var NationalInsuranceNumber = getUrlParameter('Nin') || "";

这是速记

if (getUrlParameter("Nin")) {
  NationalInsuranceNumber = getUrlParameter('Nin');
}else{
  NationalInsuranceNumber = getUrlParameter('Nin');
}

您可以使用三元运算符

var NationalInsuranceNumber = getUrlParameter('Nin') ? getUrlParameter('Nin') : ""

而不是每次都检查未定义的值(例如Ex Nin,Pcode等),这应该直接由getUrlParameter处理,在这里我们可以检查参数是否未定义,然后返回空字符串starightaway。

当找不到这样的匹配项时,最好从getUrlParameter函数返回

function getUrlParameter(sParam) {
     var sPageURL = decodeURIComponent(window.location.search.substring(1)),
         sURLVariables = sPageURL.split('&'),
         sParameterName,
         i;
     for (i = 0; i < sURLVariables.length; i++) {
         sParameterName = sURLVariables[i].split('=');
         if (sParameterName[0] === sParam) {
             return sParameterName[1] === undefined ? true : sParameterName[1];


         }
     }
return '';
 };

或者让您的代码看起来更简单

function getUrlParameter(sParam) {
     var sPageURL = decodeURIComponent(window.location.search.substring(1)),
         found = sPageURL.split('&').find((p)=>p.includes(sParam))
        return found?found.split('=')[1]:'';
 };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM