2017-10-14 18 views
1

私はまだjavasciptの新機能ですが、Webhookにメッセージを送信する小さなスクリプトを書いています。ウィキはうまくいくが、今は実行する前にいくつかの条件を設定する必要がある。私がここに設定したいのは、 "name"フィールドの長さを9文字にしなければならないということでした。私はこのif文でこの欠陥を見つけることができません。文字列の長さの条件が正しく動作しない

function json() 
{ 
    if(document.getElementById('name').length >= 9) 
    { 
    var msgJson = { 
     "text": "succes", 
    }; 
    send(msgJson); 
    } 
} 

誰かが私に答えてくれますか?
ありがとうございます!アントンをギリシアン化する!

+0

これは、入力フィールドですか? getElementByIdステートメントの最後に.valueを連結する必要があります。 –

+0

はい、フォームのテキスト入力フィールドです。ですから.valueに設定すると、入力された文字の量をどのように調整できますか?入力が例えば "ピーター"であり、9文字の条件が満たされないことが原因です。 –

+0

マーティンの答えで説明します。 –

答えて

2

document.getElementById('name')はHTML要素参照を返します。あなたがその入力値(<input id="name">)の長さを確認したい場合は、このように、document.getElementById('name').valueを使用して、それのlengthをチェックする必要があります。

function json() { 
    var el = document.getElementById('name'); 
    if (el.value.length >= 9) { 
     var msgJson = { 
      "text": "succes", 
     }; 
     send(msgJson); 
    } 
} 
0

getElementById()関数は、Elementオブジェクト(source)を返します。これには.lengthというプロパティがないため、エラーが発生します。

関連する問題