我试着做一个表格,你把你的名字,姓氏和城市,如果输入是空的或在其中有数字,它应该说:请填写所有可用的框,并确保没有数字。否则,它应该使用所有输入信息的引号。但其他的不起作用。
我试着插入代码并交换一些变量。
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>
发布于 2019-07-26 15:44:05
您的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))来检查该值是否是一个仅编号的值.从文本输入中得到的值总是字符串,因此需要进行转换。
发布于 2019-07-26 15:39:58
你的逻辑是错误的
jmeno=="" || jmeno!=NaN我想你的意思是
jmeno=="" || isNaN(jmeno)显然,语句的其余部分也需要编辑。
https://stackoverflow.com/questions/57223126
复制相似问题