javascript - 否则永远不会执行

标签 javascript html css

我正在尝试做一个表格,在其中输入您的名字、姓氏和城市,如果输入为空或其中有数字,它应该说请填写所有可用的框并确保没有数字。否则它应该说使用所有输入信息进行引用。但是 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/

相关文章:

html - CSS 在 IE 6 和 7 中水平显示无序列表

html - 盒子阴影只在右边和左边

javascript - 获取 fetch 在 Internet Explorer 11 中未定义?

javascript - 在 Ember-CLI 的应用程序初始化程序中注入(inject)?

javascript - 限制零不适用于弹出窗口

jquery - 使用幻灯片动画淡入幻灯片

javascript - 如何从另一个函数内部的 firebase 函数内部访问一个函数

html - 溢出隐藏不适用于 "vertical aligned bottom"- 绝对定位的外部 div 中的 div

html - 最小高度未按预期工作

javascript - 使用这个 jQuery 动画菜单悬停超链接?