我正在尝试做一个表格,在其中输入您的名字、姓氏和城市,如果输入为空或其中有数字,它应该说请填写所有可用的框并确保没有数字。否则它应该说使用所有输入信息进行引用。但是 else 不起作用。
我尝试更改代码并交换一些变量。
function FillInfo()
{
/* proměnné */
var jmeno = document.forms ["SignUpForm"] ["jmeno"].value;
var prijmeni = document.forms ["SignUpForm"] ["prijmeni"].value;
var rok = document.forms ["SignUpForm"] ["mesto"].value;
/*Kontrola zdali input políčka jsou prázdná či pokud bylo zadáno číslo */
if(jmeno=="" || jmeno!=NaN || prijmeni=="" || prijmeni!= NaN || mesto=="" || mesto!=NaN){
document.getElementById("info").innerHTML = "Please fill out all of available boxes and make sure there are no numbers";
}
else{
document.getElementById("info").innerHTML = "Thank you" + " " + jmeno + " " + prijmeni + " from" + " " + mesto + "." + " " + "You are now being considered as our next adventurer. Good luck!";
}
}
<div class="heading2">
<div class="container2">
<p>Do you want to travel troughout space? Then fill out our form!</p><br>
<form name="SignUpForm">
<input type="text" name="jmeno" placeholder="First name" required><br>
<input type="text" name="prijmeni" placeholder="Last name" required><br>
<input type="text" name="mesto" placeholder="City" required><br><br>
<div id="info" class="well"></div>
<input type="button" class="otherpage" onclick="FillInfo();" value="Submit" /><br><br>
<a href="Mainpage.html" class="BeginLink">Return</a>
</form>
</div>
</div>
最佳答案
您的 if 条件必须更改,它始终评估为 true
。
代替:
if (jmeno=="" || jmeno!=NaN || prijmeni=="" || prijmeni!= NaN || mesto=="" || mesto!=NaN) {
你应该尝试:
if (jmeno==="" || isNaN(jmeno) || prijmeni==="" || isNaN(prijmeni) || mesto==="" || isNaN(mesto)) {
顺便说一下,NaN 永远不等于 NaN,你必须使用 isNaN 来知道它是否是 NaN。
然而,这段代码并不是真正想要的。您想检查没有数字,对吗?根据您是想要根本没有数字还是没有数字值,您必须调整您的代码。例如:!isNaN(Number(jmeno))
检查该值是否是纯数字值。您从文本输入中获得的值始终是字符串,因此需要进行转换。
关于javascript - 否则永远不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57223126/