Javascript 基于填充输入字段的多变量条件输出
我正在开发一个小型UTM builder工具,它根据用户在多个输入字段中输入的文本输出一个长URL,如下所示:Javascript 基于填充输入字段的多变量条件输出,javascript,Javascript,我正在开发一个小型UTM builder工具,它根据用户在多个输入字段中输入的文本输出一个长URL,如下所示: <input id="utm_website" placeholder="https://" onkeyup="formChanged()" onchange="formChanged()"> 我对JavaScript非常陌生,我的“解决方案”感觉太复杂了,如果两个非必填字段中的一个以随机顺序
<input id="utm_website" placeholder="https://" onkeyup="formChanged()" onchange="formChanged()">
我对JavaScript非常陌生,我的“解决方案”感觉太复杂了,如果两个非必填字段中的一个以随机顺序使用,则无法工作。我已经搜索了一个解决方案,但由于缺乏JavaScript知识,我可能使用了错误的搜索词
是否有办法更改代码以使其正常工作?如果定义了字段,则只需附加字段,而不是每次都创建一个全新的URL字符串 首先检查所需参数的定义是否与您现在所做的相同
if( utmWebsite && utmSource && utmMedium ){
utmLink = utmWebsite + enrichSource + enrichMedium;
}
然后在同一块中,检查每个可选块,并在定义时附加它
if( utmWebsite && utmSource && utmMedium ){
utmLink = utmWebsite + enrichSource + enrichMedium;
if(utmName) utmLink += enrichName;
if(utmTerm) utmLink += enrichTerm;
if(utmContent) utmLink += enrichContent;
document.getElementById('utm_result').innerHTML=utmLink;
}
非常感谢您的回答@David工作得非常好,直到现在才知道
+=
操作符。
if( utmWebsite && utmSource && utmMedium ){
utmLink = utmWebsite + enrichSource + enrichMedium;
if(utmName) utmLink += enrichName;
if(utmTerm) utmLink += enrichTerm;
if(utmContent) utmLink += enrichContent;
document.getElementById('utm_result').innerHTML=utmLink;
}