2016-04-07 18 views
0

テキスト入力要素のChromesのデフォルトの524288文字制限を増やす方法はありますか? (Safariでも発生すると思われるので、WebKitに関連していると仮定しています)WebKitテキスト入力で524288文字以上を許可

この入力を使用して、base64でエンコードされた画像を保持しています。残念ながら、状況のために入力要素を使用する必要があるので、隠し要素を使用するだけではオプションではありません。

WebKitブラウザでは、これらの数字は一致しないことを実証するため、他のブラウザはすべて入力を制限していないようです。これを回避する方法はありますか?

$(document).ready(function(){ 
 
    // Build a really long string 
 
    var reallyLongString = "abcdefghijklmnopqrstuvwxyz"; 
 
    for(var i = 0; i < 15; i++){ 
 
    reallyLongString = reallyLongString + reallyLongString; 
 
    } 
 

 
    // The important bit 
 
    $("#inputElement").val(reallyLongString); 
 
    $("#quantityDisplay").html(
 
    "Actual length: " + reallyLongString.length + 
 
    "<br />" + 
 
    "Input length: " + $("#inputElement").val().length 
 
); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="inputElement" type="text" /> 
 
<div id="quantityDisplay"></div>

+0

これは ' 'を使う方がいいと思うし、ユーザーにとってはもっと簡単だろう。 – Pointy

+0

私は...なぜ尋ねなければならないのですか? –

+0

@CarlosCampderrós私が質問で言ったように、大きなbase64エンコードされた画像を保持する。 (これはJSプロセスにフィードされ、私は制御できません) – DBS

答えて

0

この制限がで置換することができ、正常に動作しますtextarea要素には適用されません表示されます。

$(document).ready(function(){ 
 
    // Build a really long string 
 
    var reallyLongString = "abcdefghijklmnopqrstuvwxyz"; 
 
    for(var i = 0; i < 15; i++){ 
 
    reallyLongString = reallyLongString + reallyLongString; 
 
    } 
 

 
    // The important bit 
 
    $("#inputElement").val(reallyLongString); 
 
    $("#quantityDisplay").html(
 
    "Actual length: " + reallyLongString.length + 
 
    "<br />" + 
 
    "Input length: " + $("#inputElement").val().length 
 
); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea id="inputElement" type="text"></textarea> 
 
<div id="quantityDisplay"></div>

0

値がjsのないユーザからのものであれば、代わりにhidden入力を使用することができます。

関連する問題