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;
    }

以前のStackOverflowのコードを見たことがありますが、これらを使用しているため、機能していません。誰かがJavascriptを使用してTextareaの空の値をチェックするのを解決するのに役立ちますが、jqueryは使用しません。

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 に答える