textarea数据输入检查,如果为空则为警告

时间:2015-07-31 16:26:24

标签: javascript html asp-classic 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)

并获取没有文字和文字的警报。

感谢您的帮助。

3 个答案:

答案 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>