当尝试根据from的值来计算URL的值时,它会不断返回空值,并丢弃URL的构建。
我验证了ID匹配并且是唯一的,但是我是HTML/JavaScript的新手,所以我对我错过的东西视而不见。
function displayLink() {
document.getElementById("link").innerHTML = URL;
}
var site = document.getElementById("site").value;
var prodtest1 = document.getElementById("test").value == "True" ? "-test.com/" : "-prod.com/";
var prodtest2 = document.getElementById("normal").value == "True" ? "test/" : "prod/";
var isBasic = document.getElementById("basic").value == "True" ? "AuthMethod=normal" : "html/public/";
var isHtml5 = document.getElementById("html").value == "True" ? "login.aspx" : "default.aspx";
var URL = Href = "https://" + site + prodtest1 + prodtest2 + isBasic + isHtml5;
<div>
<!-- Start Inputs -->
<Form class="input">
<input type="text" placeholder="site" id="site">
<br>
<input type="checkbox" id="test">
<label for="test">TEST</label>
<input type="checkbox" id="normal">
<Label for="normal">normal</Label>
<input type="checkbox" id="html">
<label for="html">html</label>
</Form>
<button type="Button" onclick='displayLink()'>Generate Link</button>
<!-- Inputs End -->
</div>
<!-- Display URL Result -->
<div id="URL">
<br>
<a id=Link HREF="Link">
</div>
3条答案
按热度按时间lnlaulya1#
您的代码有一些我注意到的错误:
<input type="checkbox" id="html">
这样的元素,但你真的应该在元素的末尾加上一个结束/,例如<input type="checkbox" id="html" />
这是一个“自结束”HTML元素的语法,你需要在末尾加上一个斜杠。document.getElementById("element").checked
就可以更好地检查输入框是否被选中对自己要有耐心,在写代码的时候一定要注意这些事情。如果你“修正”了所有这些事情(注意“修正”是在引号里的,因为有很多正确的方法来写代码),它看起来会像这样:
网址:
JavaScript语言:
uqzxnwby2#
对于复选框类型的输入,checked属性将返回一个布尔值true或false,供您用于三元条件。
MDN文档中提供了更多信息
ctehm74n3#
试试这个: