2017-08-24 13 views
-4

今日はhtmlファイルに以下を追加しようとしていたが、動作しませんHTMLにjavascriptを追加するには?

<head><script>$('#textbox').on('keyup', function(e) { 
    var val = this.value; 
    if (e.which != 8 && e.which != 46) { 
     if (val.replace(/\s/g, '').length % 4 == 0) { 
      $(this).val(val + ' '); 
     } 
    } else { 
     $(this).val(val);   
    } 
})</head></script> 
<body> 
<input type="text" id="textbox"> 
</body> 

は誰も私を助けることができますか?間違った順序でのおかげで、とにかく

+0

あなたのhtmlファイルにもjqueryを含める必要があります。 –

+5

*なぜ*動作しないのかを含めてください。どのようなエラーが表示されますか?私は@ジョシュアが正しかったと思う。 – ToothlessRebel

+0

デバッグ101:すべての良いブラウザは**開発者**ツールコンソールを持っています。通常、F12 - そのコンソールの情報/警告/エラーを使用して、コードがどこで失敗しているかを知ることができます。それを修正するか、冗長な "それはうまくいかない"以上のもので助けを求めてください。もしうまくいけば、あなたは聞いていないでしょう:p –

答えて

2

二つの問題があります:あなたはjQueryのへの参照を追加する必要があり

  1. が。

  2. <script>は、keyupイベントを購読するためにDOMに#textboxが必要です。したがって、スクリプトは身体の最後に配置する必要があります。この方法では、#textboxがスクリプトの実行時にDOMに追加されます。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<head></head> 
 

 
<body> 
 
    <input type="text" id="textbox"> 
 

 
    <script> 
 
    $('#textbox').on('keyup', function(e) { 
 
     var val = this.value; 
 
     
 
     if (e.which != 8 && e.which != 46) { 
 
     if (val.replace(/\s/g, '').length % 4 == 0) { 
 
      $(this).val(val + ' '); 
 
     } 
 
     } else { 
 
     $(this).val(val); 
 
     } 
 
    }) 
 
    </script> 
 
</body>

4

<head><script>近い

0
<head> 

    <script>$('#textbox').on('keyup', function(e) { 
    var val = this.value; 
    if (e.which != 8 && e.which != 46) { 
     if (val.replace(/\s/g, '').length % 4 == 0) { 
      $(this).val(val + ' '); 
     } 
    } else { 
     $(this).val(val);   
    } 
}) 
</script> 

</head> 

<body> 
    <input type="text" id="textbox"> 
</body> 

上記のコードは動作します。問題であった</head>の前に<script>タグを追加する必要があります。詳細はw3schoolsをご覧ください。

<body></body>にスクリプトを書き込むことをお勧めします.jQueryを使用する場合は、<head></head>にjQuery CDNを挿入する必要があります。

関連する問題