[英]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.