textarea数据输入检查,如果为空,则提醒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了textarea数据输入检查,如果为空,则提醒相关的知识,希望对你有一定的参考价值。

我有一个表单,有一个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;
}

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>

如果那个工作而不是第一个例子,那么你可能有另一部分代码导致问题并且在问题中没有引用。

祝好运。

另一答案

更改

 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>

以上是关于textarea数据输入检查,如果为空,则提醒的主要内容,如果未能解决你的问题,请参考以下文章

jquery textarea 验证

iframe 嵌入代码抛出 403 错误

我想使用 javascript 检查 textarea 的内容必须包含以前输入的单词

表单输入验证,多焦点问题

如果全部都不为空,则组合文本字段结果 RxSwift

如果输入为空,如何隐藏文本区域