2016-04-07 5 views
0

Gibt es eine Möglichkeit, Chrores Standard 524288 Zeichen Grenze für Texteingabeelemente zu erhöhen? (Scheint auch in Safari auftreten, so nehme ich an, es ist WebKit verwandt)Erlaube mehr als 524288 Zeichen in einer WebKit-Texteingabe

Für den Kontext verwende ich diesen Eingang, um ein Base64-codiertes Bild zu halten. Leider muss ich aufgrund der Situation ein Eingabeelement verwenden, also ist die Verwendung eines versteckten Elements keine Option.

Um zu demonstrieren, in WebKit Browser diese Zahl wird nicht übereinstimmen, scheint jeder andere Browser die Eingabe nicht zu beschränken. Gibt es eine Möglichkeit, dies zu umgehen?

$(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

Ich würde denken, es wäre vorzuziehen, eine '' dafür zu verwenden, und wahrscheinlich viel einfacher für den Benutzer. – Pointy

+0

Ich muss fragen ... warum? –

+0

@ CarlosCampderrós Wie gesagt in der Frage, ein großes Base64-kodiertes Bild zu halten. (Dies wird dann in einen JS-Prozess eingespeist, den ich nicht kontrollieren kann) – DBS

Antwort

0

Es scheint, diese Einschränkung nicht auf die textarea Element gilt, das in und korrekt funktionieren substituiert sein kann.

$(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

können Sie einen hidden Eingang verwenden, anstatt, wenn der Wert von js nicht Benutzer.

Verwandte Themen