如何检查我是不是在javascript中提交空白输入?我写了一个程序,但它不工作

Posted

技术标签:

【中文标题】如何检查我是不是在javascript中提交空白输入?我写了一个程序,但它不工作【英文标题】:How to check whether i submit blank input in javascript? i have written a program but it is not working如何检查我是否在javascript中提交空白输入?我写了一个程序,但它不工作 【发布时间】:2021-12-30 19:52:39 【问题描述】:

我使用脚本标记在 html 文件中编写了 javascript 代码, 我想知道我的输入是大于还是小于 10 或等于 10 或任何空白输入。我用if-else方法解决 这个问题,但我的最后一个条件是“你的输入是 空白”不以任何方式输出。

//f1 function will run when some hit the submit button
function f1() 
  //here we are taking the value of the input field using id "myinput" in the variable called myinputvar
  var myinputvar = document.getElementById("myinput").value;
  if (myinputvar > 10) 
    document.getElementById("txt").innerHTML = "Your input number is greater than 10";
   else if (myinputvar < 10) 
    document.getElementById("txt").innerHTML = "Your input number is less than 10";
   else if (myinputvar = 10) 
    document.getElementById("txt").innerHTML = "Your input number is 10";
   else if (myinputvar = " ") 
    document.getElementById("txt").innerHTML = "Your input is blank";
  
<!-- this is the input tag to take inputs from user -->
Enter a integer number between 0 to anynumber = <input type="text" id="myinput"><br><br>
<!-- this is the button to submit the value -->
<button onclick="f1()">submit</button>
<!-- this is the heading tag to print the output -->
<h1 id="txt"></h1>

【问题讨论】:

【参考方案1】:

包装成表格并使其成为必需

也转换为数字

document.getElementById("myForm").addEventListener("submit", function(e) 
  e.preventDefault(); // stop submission
  //here we are taking the value of the input field using id "myinput" in the variable called myinputvar
  var myinputvar = +document.getElementById("myinput").value; // make it a number
  if (myinputvar > 10) 
    document.getElementById("txt").innerHTML = "Your input number is greater than 10";
   else if (myinputvar < 10) 
    document.getElementById("txt").innerHTML = "Your input number is less than 10";
   else if (myinputvar = 10) 
    document.getElementById("txt").innerHTML = "Your input number is 10";
   else if (myinputvar = " ") 
    document.getElementById("txt").innerHTML = "Your input is blank";
  
)
<form id="myForm">
  Enter a integer number between 0 to anynumber =
  <input type="text" required id="myinput"><br><br>
  <button>submit</button>
</form>
<h1 id="txt"></h1>

【讨论】:

谢谢。这对我来说是一个棘手的方法,但它也有效。我想避免 javascript 的内置功能并使其非常简单。感谢您的回复。 必需的根本不是js【参考方案2】:

仅检查空格输入的一般方法是使用正则表达式模式^\s*$。示例代码:

if (/^\s*$/.test(inputvar)) 
    document.getElementById("txt").innerHTML = "Your input is blank";

【讨论】:

谢谢。它实际上有效,但在嵌套的 if-else 中。【参考方案3】:

注意不要使用快捷方式:

if (inputvar) 
    // this won't catch "0"!

但更合适

if (inputvar === "") 
    // is empty

当然,如果您想将数字作为输入处理,您应该首先检查这种情况。

【讨论】:

【参考方案4】:

您可以使用 ASCII 码来检查

else if(myinputvar.carCodeAt(0) === 13) 
    document.getElementById("txt").innerHTML = "Your input is blank";

13 是回车键的 ASCII 码 https://www.asciitable.com/

【讨论】:

【参考方案5】:
> This method is also working, the logic is i should have use a nested
> if like this

 
function f1() 
            var myinputvar = document.getElementById("myinput").value;
            if (myinputvar == "") 
                document.getElementById("txt").innerHTML = "Your input is blank";
             else 
                if (myinputvar > 10) 
                    document.getElementById("txt").innerHTML = "Your input number is greater than 10";
                 else if (myinputvar < 10) 
                    document.getElementById("txt").innerHTML = "Your input number is less than 10";
                 else if (myinputvar = 10) 
                    document.getElementById("txt").innerHTML = "Your input number is 10";
                
            

        

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案6】:

正如蒂姆·比格莱森所说,它是这样工作的:

var myinputvar = document.getElementById("myinput").value;
if (/^\s*$/.test(myinputvar)) 
   document.getElementById("txt").innerHTML = "Your input is blank";
 else 
  if (myinputvar > 10) 
     document.getElementById("txt").innerHTML = "Your input number is greater than 10";
   else if (myinputvar < 10) 
    document.getElementById("txt").innerHTML = "Your input number is less than 10";
   else if (myinputvar = 10) 
    document.getElementById("txt").innerHTML = "Your input number is 10";
  

【讨论】:

【参考方案7】:

检查给定的输入值是否为有效数字

    function isNumber(n) return /^-?[\d.]+(?:e-?\d+)?$/.test(n); 

【讨论】:

以上是关于如何检查我是不是在javascript中提交空白输入?我写了一个程序,但它不工作的主要内容,如果未能解决你的问题,请参考以下文章

为啥javascript触发提交表单(方法获取,目标空白)打开弹出窗口而不是新标签?

当我将表单提交到服务器时,如何检查表单中是不是存在输入字段?

如何防止在表单提交中传递空白UTM值?

如何在 Swift 2.0 中检查 UITextField 是不是为空白?有没有更好的方法来计算字符串? [复制]

空白剃须刀页面,检查评论中是不是存在文章编号

Javascript 无法停止页面加载