4
     <form onsubmit="chkform()">
        <table>
        <tr><td>name</td><td><input type="text" id="uname"/></td></tr>
        <tr><td></td><td><div id="er1"></div></td></tr>
        <tr><td>address</td><td><input type="text" id="add"/></td></tr>
        <tr><td></td><td><div id="er2"></div></td></tr>
        </table>
        </form>
     <script>   
            function chkform()
            {


              if (document.getElementById("uname").value === "" ) 
              {

               document.getElementById("er1").innerHTML = "name cant be left blank"; 
               document.getElementById("er1").style.color = "red"; 
               document.getElementById("er1").style.display = "block"; 
              }
        }
</script>

フィールドのいずれかが空白のままで、テキストボックスをクリックするとこのメッセージが消える場合、divにエラーメッセージを表示したい。

4

5 に答える 5

0

両方の入力ボックスを配列に追加し、それらをループして値が入力されているかどうかをテストしてみてください。

私はあなたのコードを編集しました。

function chkform()
                {

    var inputs = [];
    inputs[0] = document.getElementById("uname");
    inputs[1] = document.getElementById("add");

    for( i =0; i < inputs.length; i++) {

                  if (inputs[i].value === "" ) 
                  {

                   document.getElementById("er1").innerHTML = "Please fill out all form inputs!"; 
                   document.getElementById("er1").style.color = "red"; 
                   document.getElementById("er1").style.display = "block"; 
                  }
            }
    }
于 2013-09-06T12:35:48.507 に答える
0

if 条件に else 部分を追加する必要があります。これにより、フィールドが入力されたときにエラー メッセージが削除されます。

else {
              document.getElementById("er1").innerHTML = ""; 
              document.getElementById("er1").style.display = "none";
              }

http://codepen.io/anon/pen/gxJid

于 2013-09-06T12:42:41.400 に答える
0

input以下を使用すると、検証関数を書き直さずに常に s を追加できます。

function chkform()
{
    var form = document.getElementsByTagName('form')[0];
    var inputs = form.getElementsByTagName('input');

    for(var i = 0; i < inputs.length; i++){
        if(inputs[i].value === '')
            // do your error
    }
}

Working fiddle

于 2013-09-06T12:33:32.460 に答える
0

私はあなたがする必要があると思いreturnます

<form onsubmit="return chkform()">

return falseあなたの赤い警告メッセージブロックで

それが機能します。

すなわち

<form onsubmit="return chkform()">
function chkform() {
  if (document.getElementById("uname").value === "") {
    . . .
    return false;
  }

  if (document.getElementById("car").value == "truck") {
    . . .
    return false;
  }
  . . .
}
于 2013-09-06T12:34:30.423 に答える