如何使用javascript检查文本框是否为空

时间:2010-08-17 12:27:21

标签: javascript

我有一个带有一些TextBox的jsp页面。现在我想填写一些信息,然后单击“提交”按钮。但是我需要检查这个TextBox是否为空。

我该怎么做?

7 个答案:

答案 0 :(得分:14)

使用regexp:\ S将匹配非空白字符:除了空格,制表符或新行之外的任何内容。如果你的字符串有一个不是空格,制表符或新行的单个字符,那么它不是空的。因此,您只需要搜索一个字符:\ S

<强> JavaScript的:

function checkvalue() { 
    var mystring = document.getElementById('myString').value; 
    if(!mystring.match(/\S/)) {
        alert ('Empty value is not allowed');
        return false;
    } else {
        alert("correct input");
        return true;
    }
}

<强> HTML:

<form onsubmit="return checkvalue(this)">
    <input name="myString" type="text" value='' id="myString">
    <input type="submit" value="check value" />
</form>

答案 1 :(得分:7)

Canonical没有使用框架,为旧浏览器添加了修剪原型

<html>
<head>
<script type="text/javascript">
// add trim to older IEs
if (!String.trim) {
  String.prototype.trim = function() {return this.replace(/^\s+|\s+$/g, "");};
}

window.onload=function() { // onobtrusively adding the submit handler
  document.getElementById("form1").onsubmit=function() { // needs an ID
    var val = this.textField1.value; // 'this' is the form 
    if (val==null || val.trim()=="") { 
      alert('Please enter something');
      this.textField1.focus();
      return false; // cancel submission
    }
    return true; // allow submit
  }
}
</script>
</head>
<body>
<form id="form1">
  <input type="text" name="textField1" value="" /><br/>
  <input type="submit" />
</form>
</body>
</html>

这是内联版本,虽然不推荐我在这里展示,以防你需要添加验证而不能重构代码

function validate(theForm) { // passing the form object
  var val = theForm.textField1.value;
  if (val==null || val.trim()=="") { 
    alert('Please enter something');
    theForm.textField1.focus();
    return false; // cancel submission
  }
  return true; // allow submit
}

在(this)

中传递表单对象
<form onsubmit="return validate(this)">
  <input type="text" name="textField1" value="" /><br/>
  <input type="submit" />
</form>

答案 2 :(得分:5)

使用此JavaScript将为您提供很多帮助。代码中给出了一些解释。

<script type="text/javascript">
    <!-- 
        function Blank_TextField_Validator()
        {
        // Check whether the value of the element 
        // text_name from the form named text_form is null
        if (!text_form.text_name.value)
        {
          // If it is display and alert box
           alert("Please fill in the text field.");
          // Place the cursor on the field for revision
           text_form.text_name.focus();
          // return false to stop further processing
           return (false);
        }
        // If text_name is not null continue processing
        return (true);
        }
        -->
</script>
<form name="text_form" method="get" action="#" 
    onsubmit="return Blank_TextField_Validator()">
    <input type="text" name="text_name" >
    <input type="submit" value="Submit">
</form>

答案 3 :(得分:2)

您也可以使用jQuery进行检查..这很简单:

<html>
    <head>
        <title>jQuery: Check if Textbox is empty</title>
        <script type="text/javascript" src="js/jquery_1.7.1_min.js"></script>
    </head>
    <body>
        <form name="form1" method="post" action="">
            <label for="city">City:</label>
            <input type="text" name="city" id="city">
        </form>
        <button id="check">Check</button>
        <script type="text/javascript">
             $('#check').click(function () {
                 if ($('#city').val() == '') {
                     alert('Empty!!!');
                 } else {
                     alert('Contains: ' + $('#city').val());
                 }
             });                
        </script>
    </body>
</html>

答案 4 :(得分:0)

无论您选择哪种方法,都无法让您在后端执行相同的验证。

答案 5 :(得分:0)

在不使用javascript的情况下执行此操作的最简单方法是使用 required =&#34;&#34;

<input type="text" ID="txtName"  Width="165px" required=""/>

答案 6 :(得分:-1)

<pre><form name="myform"  method="post" enctype="multipart/form-data">
    <input type="text"   id="name"   name="name" /> 
<input type="submit"/>
</form></pre>

<script language="JavaScript" type="text/javascript">
 var frmvalidator  = new Validator("myform");
    frmvalidator.EnableFocusOnError(false); 
    frmvalidator.EnableMsgsTogether(); 
    frmvalidator.addValidation("name","req","Plese Enter Name"); 

</script>

注意:在使用上述代码之前,您必须添加gen_validatorv31.js文件。