我有一个包含 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)
并获取没有文字和文字的警报。
感谢您的帮助。
答案 0 :(得分:0)
<强>已更新强>
&#39;的 强>&#39!;是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;
}
请参阅 Working fiddle 。
如果这不起作用,请查看 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>
如果那个工作而不是第一个例子,那么你可能有另一部分代码导致问题并且在问题中没有引用。
祝你好运。答案 1 :(得分:0)
变化
if (!document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
到
if (document.formName.changereason.value == '')
{
alert("Enter a reason.");
return false;
}
!
表示“不是” - 所以你要说的是不的值是否为空,然后提醒。
答案 2 :(得分:0)
在表单标签中写
<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>