0

JavaScript を試すのはこれが初めてで、うまく動作しません。テキストボックスと送信ボタンを含むphpファイルがあります。送信ボタンをクリックすると、テキスト ボックスが空でないことを確認するために JavaScript が検証を実行します。以下の私のコードを見てください。実行時に、送信ボタンをクリックしても何も起こりません。

<html><head><script type="text/javascript">
function formValidator() {        
    var client_name = document.getElementByID('client_name');        
    if(notEmpty(client_name, "Client Name Blank")){
          return True;       
    }
    return False;         
 }   

function notEmpty(elem, helperMSG) {
    if(elem.length == 0) {
        alert(helperMSG);
        elem.focus();
        return False;
        }
     return True;   
    }
</script></head>

<?php
    echo '<body><form onsumbit="return formValidator()" method="post">
         <table border="1" cellspacing="0" cellpadding="0"><tr><td colspan="2">
         <h1>Add Account</h1></td></tr>
         <tr>
         <td>Client Name: <font size="1">(required)</font></td>
         <td><input type="text" id="client_name" name="client_name" size="35"/></td></tr>
         </table>
         <input type="submit" name="submit_account" value="Add Account"/>
         </form></body></html>';
?>
4

3 に答える 3

1
  1. JavaScript では大文字と小文字が区別されます。TrueFalseは定義されていない (つまりtruefalse) ため、それらに遭遇すると、JavaScript エンジンは例外をスローし、通常のフォーム送信が再開されます。
  2. lengthwhich のプロパティをテストしていますHTMLInputElement(別の方法で定義しない限り) は常に になりますundefinedの長さをテストします。elem.value.length.
于 2013-05-21T16:44:49.667 に答える
0

いくつかの問題:

1) JavaScript では大文字と小文字が区別されるため、True と False は認識されません。true と false を使用してみてください。

2) elem.value.length (または単に elem.value) も使用する必要があります。

だから変わる

elem.length

elem.value.length に。

3) true/false の 2 つのチェックは不要で、1 つあれば十分です。

html><head><script type="text/javascript">
function formValidator() {        
    var client_name = document.getElementByID('client_name');        
    return notEmpty(client_name, "Client Name Blank"); // no need for true false
 }   

function notEmpty(elem, helperMSG) {
    if(elem.value.length == 0) { ///changed to use value.
        alert(helperMSG);
        elem.focus();
        return false;  //change to lowercase false
    }
     return true;   //change to lowercase true.
  }
</script></head>
于 2013-05-21T16:45:13.550 に答える
0

これを使って:-

 <script type="text/javascript">
    function formValidator() {        
        var client_name = document.getElementByID('client_name');        
        if(notEmpty(client_name, "Client Name Blank")){
              return true;        // Changed True to true
        }
        return false;         // Changed False to false
     }   

    function notEmpty(elem, helperMSG) {
        if(elem.value.length == 0)    // checking length of an element's value
 { 
            alert(helperMSG);
            elem.focus();
            return false;   // Changed False to false
            }
         return true;  // Changed True to true
        }
    </script>
于 2013-05-21T16:45:54.970 に答える