Hej!
Har ett script som jag använt för att få funktionen MAXLENGTH i TEXTAREA-fält. Nu behöver jag utveckla det en aning och klarar inte av det på egen hand.
Skulle vilja att enterslag räknas som 4 tecken istället för 1. Detta för att enterslag ersätts med <br> när formuläret postas och lagras i databas.
Så här ser koden ut nu:
<PUBLIC:COMPONENT id="bhvMaxlength" urn="maf:Maxlength">
<PUBLIC:PROPERTY name="maxLength" />
<PUBLIC:ATTACH event="onkeypress" handler="doKeypress" />
<PUBLIC:ATTACH event="onbeforepaste" handler="doBeforePaste" />
<PUBLIC:ATTACH event="onpaste" handler="doPaste" />
<SCRIPT language="JScript">
// --------------------------------------------------------------------
// Fil: maxlength.htc
// Syfte: Används för att få funktionen MAXLENGTH i TEXTAREA-fält
// I CSS-fil: textarea {behavior: url(maxlength.htc);}
// I HTML-fil: <textarea MAXLENGTH="150"></textarea>
// --------------------------------------------------------------------
// Keep user from entering more than maxLength characters
function doKeypress(){
if(!isNaN(maxLength)){
maxLength = parseInt(maxLength);
var oTR = element.document.selection.createRange();
// Allow user to type character if at least one character is selected
if(oTR.text.length >= 1)
event.returnValue = true;
else if(value.length > maxLength-1)
event.returnValue = false;
}
}
// Cancel default behavior
function doBeforePaste(){
if(!isNaN(maxLength))
event.returnValue = false;
}
// Cancel default behavior and create a new paste routine
function doPaste(){
if(!isNaN(maxLength)){
event.returnValue = false;
maxLength = parseInt(maxLength);
var oTR = element.document.selection.createRange();
var iInsertLength = maxLength - value.length + oTR.text.length;
var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
oTR.text = sData;
}
}
</SCRIPT>
</PUBLIC:COMPONENT>
Mvh
Petter