我有一个带有一些TextBox的jsp页面。现在我想填写一些信息,然后单击“提交”按钮。但是我需要检查这个TextBox是否为空。
我该怎么做?
答案 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
文件。