2016-04-07 53 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

您可以使用hidden輸入,而不是如果該值從JS而不是用戶。

相關問題