我想使用工具提示获取错误消息,我显示:没有跨度,其ID为demo以隐藏工具提示。然后使用getElementById javascript获取用户名为userverify的用户名,以获取输入是否为空,然后如果值为空则显示块和innerhtml的演示ID
function validateForm() {
var x = document.getElementById("userverify").value;
var y;
if (x == "" || x == null) {
y = document.getElementById("demo").styleDisplay = "block";
document.getElementById("demo").innerHTML = y + "<h1>Empty Username</h1>";
}
}
&#13;
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
&#13;
<form action="" method="" name="">
<br>
<br>
<br>
<label>Username</label>
<div class="tooltip">
<input id="userverify" class="" type="text" name="username">
<span class="tooltiptext" id="demo" style="display:none">Tooltip text</span>
</div>
<input onclick="validateForm()" type="submit" name="submit" value="Submit">
</form>
&#13;
答案 0 :(得分:0)
试试这段代码。我做了一些改动。 validateForm()
按钮不应放在submit
按钮上,而应放在form
元素的onSubmit
事件上。 onsubmit="return validateForm()"
这意味着提交将取决于validateFrom()
函数的返回值。
function validateForm(){
var x = document.getElementById("userverify").value;
var y = document.getElementById("demo");
if(x == "" || x == null){
y.style.display = "block";
y.innerHTML = "Empty Username";
y.style.visibility = "visible";
y.style.opacity = "1";
return false;
}
else
{
y.style.display = "none";
}
return true;
}
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
<form action="#" method="" name="" onsubmit="return validateForm()">
<br>
<br>
<br>
<label>Username</label>
<div class="tooltip">
<input id="userverify" class="" type="text" name="username">
<span class="tooltiptext" id="demo" style="display:none;">Tooltip text</span>
</div>
<input type="submit" name="submit" value="Submit">
</form>
答案 1 :(得分:0)
第一
y = document.getElementById("demo").styleDisplay = "block";
不正确...尝试style.display
其次,您的工具提示也有visibility:hidden
和opacity:0
....所以您还需要使用display
更改这些值。
Stack Snippet
function validateForm() {
var x = document.getElementById("userverify").value;
var y = document.getElementById("demo");
//console.log(x);
if (x == "" || x == null) {
y.style.display = "block";
y.style.visibility = "visible";
y.style.opacity = "1";
y.innerHTML = "Empty Username";
}
}
&#13;
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
&#13;
<form action="" method="" name="">
<br>
<br>
<br>
<label>Username</label>
<div class="tooltip">
<input id="userverify" class="" type="text" name="username">
<span class="tooltiptext" id="demo" style="display:none">Tooltip text</span>
</div>
<input onclick="validateForm()" type="button" name="submit" value="Submit">
</form>
&#13;