我有一个表单,有一个textarea字段输入。如果提交时字段为空,我想要弹出警报。
我复制了一些在输入字段上工作正常的代码;但是,它对textarea不起作用(它提交时没有警告是否为空)。 我通读了这里发布的其他一些问题,并进行了一些修改。 现在,它在空的时候发出警报,但是当有文本并且没有提交时它也会发出警报。 我是新来的。我正在使用asp经典。
码:
<form method="post" action="reasonProcess.asp" name="formName" onSubmit="return Validate()">
<table >
<tr>
<td>Please enter a reason for the change:<br>
<textarea style="width:675px;height:75px" rows="12" cols="10" name="changereason" > <%=dbchangereason%> </textarea></td>
</tr>
</table><br>
<input type=button value="Approve" onClick="javascript:saveAndSubmit()" class="btn" style="float:none;font-size:.78em;">
</form>
<script>
function saveAndSubmit()
{
// Check for reason entered.
if (!document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
var queryString = "reasonProcess.asp?Approve=Yes";
document.formName.action=queryString;
document.formName.submit();
// window.close();
}
</script>
这是与输入文本字段一起正常工作的代码行:
if (!document.formName.changereason.value)
我也尝试过:
if (!document.formName.changereason.value.length == 0)
并获得没有文字和文字的警报。
谢谢你的帮助。
更新
'!'是JavaScript中的logical not operator。
你的代码中的条件说如果changereason
textarea的值不为空显示alert()
,因为!
符号表示不是,但你想要的是相反的(如果字段为空然后显示警报),所以尽量删除标志它会工作,做以下更改:
替换:
if (!document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
通过:
if (document.formName.changereason.value == '') //removing the ! sign in this line
{
alert("Enter a reason.");
return false;
}
如果这不起作用,请查看External simple page with the same code,它不是一个小提琴,它应该也适用于您的机器,外部示例的代码:
<!DOCTYPE html>
<html>
<head><title></title>head>
<body>
<form method="post" action="reasonProcess.asp" name="formName" onSubmit="return Validate()">
<table >
<tr>
<td>Please enter a reason for the change:<br>
<textarea style="width:675px;height:75px" rows="12" cols="10" name="changereason" > <%=dbchangereason%> </textarea>
</td>
</tr>
</table>
<br>
<input type=button value="Approve" onClick="javascript:saveAndSubmit()" class="btn" style="float:none;font-size:.78em;">
</form>
<script>
function saveAndSubmit()
{
// Check for reason entered.
if (document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
var queryString = "reasonProcess.asp?Approve=Yes";
document.formName.action=queryString;
document.formName.submit();
// window.close();
}
</script>
</body>
</html>
如果那个工作而不是第一个例子,那么你可能有另一部分代码导致问题并且在问题中没有引用。
祝好运。
更改
if (!document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
至
if (document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
!
的意思是“不” - 所以你说的是,如果值不是空的那么警告。
在表单标签写
<form action="" method="post" enctype="multipart/form-data" onsubmit="return checkform(this);">
这是您的输入字段
<textarea name="reviewValue"></textarea>
Javascript代码:
<script language="JavaScript" type="text/javascript">
function checkform ( form ){
if (form.reviewValue.value == "") {
alert( "Please choice your Rating." );
form.reviewValue.focus();
return false ;
}
return true ;
}
</script>