2016-12-17 13 views
0

私の問題は..私は電子メールが正規表現を持っているかどうかをチェックするフォームを作ろうとしています。私のコードで何も起こりません.. 私はあなたが私を助けることを望みます。問題 THX .. ここに私のコード:Javascript jQuery - メソッドonchange()が機能しない

 <div id="formular"> 
     <p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p> 
     <form> 
      E-Mail: <input id="mail" type="text" name="mail" onchange="check();"/> 
     </form> 

     <script> 
      function check(){ 
      var feld= $("#mail"); 
      if(feld.value.search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){ 
       feld.val(""); 
      } 
     } 
     </script> 

     <hr> 
    </div> 
+0

keyup、keydown、keypress、なぜonchangeですか? – rahulsm

+2

コンソールを確認してください。 – nicovank

+0

http://stackoverflow.com/search?q=javascript+validate+email – jmargolisvt

答えて

0

あなたはあなたの答えを取得するためのより良い方法は、このようにあなたのスクリプトを使用することですので、jQueryのを使用しています

<script> 
    function check(){ 
     var feld= $("#mail"); 
     if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){ 
      feld.val(""); 
     } 
    } 
</script> 

JavascriptをないjQueryのため.value作品からです。

+0

ありがとうございます。 –

+0

ありがとうございましたら、回答を受け入れてください。 –

0

jQueryを使用しているので、このようなことが必要な場合があります。このコードは、ドキュメントの準備が整うと実行されます。ご覧のとおり、入力フィールドのonChange.change()コールに置き換えました。

$(selector).valueの代わりに$(selector).val()も使用する必要があります。

<div id="formular"> 
    <p>Hier wird überprüft, ob die angegebene E-Mail Adresse korrekt ist.</p> 
    <form> 
     E-Mail: <input id="mail" type="text" name="mail" /> 
    </form> 

    <script> 
     $(document).ready(function(){ 
      var feld = $("#mail"); 
      feld.change(check); 

      function check(){ 
       console.log("Checking it"); 
       if(feld.val().search(/^([A-Za-z0-9_/\.-]){1,}\@([A-Za-z0-9]){1,}\.([A-Za-z]){2,4}$/)===-1){ 
        feld.val(""); 
       } 
      } 

     }); 
    </script> 

    <hr> 
</div> 

あなたが入力フィールドにフォーカスを失う場合にのみ動作することに注意してください。だから私はこれが本当にあなたが念頭に置いていたものかどうか分からない。

関連する問題