0

関数内の私のjsファイルでは、このように準備しています

var x = '<span class="someclass">
         <textarea class="editField" maxlength="60">
         </textarea>      
         </span>';

ここでは、maxlength 属性を使用してテキストエリアのサイズを制限していますが、IE では機能しません。

4

5 に答える 5

1

maxlength<textarea>はすべてのブラウザでサポートされているわけではありません。いずれにせよ、ユーザーが望むものを入力することを実際に制限することは決して良い考えではないと思います。制限を超えていることを伝えますが、ロックアウトしないでください。

于 2013-07-29T07:32:16.510 に答える
0

maxlength 属性は、HTML 4.01 では標準ではありません。ただし、HTML5 で定義されていますが、IE では実装されていないと思います。すべてのブラウザーで機能させるには、javascript を使用できます。ここに例があります.これをチェックしてください..ありがとう

window.onload = function() { 
var txts = document.getElementsByTagName('TEXTAREA') 

for(var i = 0, l = txts.length; i < l; i++) {
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) { 
    var func = function() { 
    var len = parseInt(this.getAttribute("maxlength"), 10); 

    if(this.value.length > len) { 
      alert('Maximum length exceeded: ' + len); 
      this.value = this.value.substr(0, len); 
      return false; 
    } 
  }

   txts[i].onkeyup = func;
   txts[i].onblur = func;
  } 
 } 
}
于 2013-07-29T07:36:33.290 に答える
0

Maxlength は IE ではサポートされていません。ユーザーが IE で無制限の文字数を入力できないようにするには、javascript を使用する必要があります。

以下のスクリプトを使用して、ユーザーが IE のテキストエリアに入力できる最大文字数を制限できます。

window.onload = function() { 
  var txts = document.getElementsByTagName('TEXTAREA') 

  for(var i = 0, l = txts.length; i < l; i++) {
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) { 
      var func = function() { 
        var len = parseInt(this.getAttribute("maxlength"), 10); 

        if(this.value.length > len) { 
          alert('Maximum length exceeded: ' + len); 
          this.value = this.value.substr(0, len); 
          return false; 
        } 
      }

      txts[i].onkeyup = func;
      txts[i].onblur = func;
    } 
  } 
}

そして、あなたのテキストエリアは次のようになります:

<textarea maxlength="10"></textarea>

デモ

于 2013-07-29T07:35:41.273 に答える
0

そうではありません。IE10 は、テキストエリアで HTML5 の maxlength をサポートするようになりました。 以前の IE バージョンで長さを制限する必要がある場合は、こちらを参照してください。そのためには JavaScript が必要です。

于 2013-07-29T07:33:15.427 に答える
0

ユーザーが自分で入力するのを制限しても、実際には無意味です。サーバーに到達する長さをテストしない限り、これは何の違いもありません (実際にテストする必要があります)。

Kolink が言ったことに同意します。ユーザーの入力を制限しようとしないでください。

于 2013-07-29T07:41:27.510 に答える