6

HTML

<form name="myForm" id="myForm" onsubmit="return validate();" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="name" id="name">
<textarea name="details" id="details"></textarea>
<input type="submit">
</form>

Javascript

function validate()
{
         if(document.getElementById('details').value == '') 
         {      
        alert("Please Provide Details!");
              document.getElementById('details').focus();
        return false;       
        }
         else if(document.getElementById('name').value == '')
         {      
        alert("Please Provide Name!");
               document.getElementById('name').focus();
        return false;       
        }
         else
           return true;
}

或者

function validate()
    {
             if(document.myForm.details.value == '') 
             {      
            alert("Please Provide Details!");
              document.myForm.details.focus();
            return false;       
            }
             else if(document.myForm.name.value == '')
             {      
            alert("Please Provide Name!");
              document.myForm.name.focus();
            return false;       
            }
             else
               return true;
    }

我已经看过以前 Stack Overflow 的代码,但是当我使用这些代码时,它不起作用。有人会帮助解决使用Javascript而不是jquery检查Textarea上的空值吗?

我使用的参考 如何使用 javascript 检查 textarea 内容是否为空白? 以及 如何检查 Javascript 或 Jquery 中的 Textarea 是否为空?

4

2 回答 2

10

我认为您的文本区域可能存在空间问题。使用修剪功能来减少它。这是下面的示例。我希望它可以解决你的问题。

JavaScript 添加这个函数

function trimfield(str) 
{ 
    return str.replace(/^\s+|\s+$/g,''); 
}

还有你的 JavaScript 函数

function validate()
{
     var obj1 = document.getElementById('details');
     var obj2 = document.getElementById('name');
         if(trimfield(obj1.value) == '') 
         {      
              alert("Please Provide Details!");
              obj1.focus();
              return false;       
         }
         else if(trimfield(obj2.value) == '')
         {      
               alert("Please Provide Name!");
               obj2.focus();
               return false;       
        }
         else
           return true;
}

或者

function validate()
    {
         var obj1 = document.myForm.details;
         var obj2 = document.myForm.name;
             if(trimfield(obj1.value) == '') 
             {      
               alert("Please Provide Details!");
               obj1.focus();
               return false;       
             }
             else if(trimfield(obj2.value) == '')
             {      
               alert("Please Provide Name!");
               obj2.focus();
               return false;       
             }
             else
               return true;
    }

以及带有 PHP 的 HTML

<form name="myForm" id="myForm" onsubmit="return validate();" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="name" id="name">
<textarea name="details" id="details"></textarea>
<input type="submit">
</form>
于 2012-06-04T04:21:46.327 回答
3

您可以使用以下 jQuery 来转义空格。

if($("#YourTextAreaID").val().trim().length < 1)
{
    alert("Please Enter Text...");
    return; 
}
于 2019-02-01T06:13:04.227 回答