webForumDet fria alternativet

Dela upp formfält i två delar.

JavaScriptur Javascript

6 svar · 292 visningar · startad av solbulle

Medlem sedan mars 20015 287 inlägg
Frågan#1

Råkat ut för detta problem. Att datan i formulärsfältet överstiger maxvärdet, knäppt va?

Lösningen verkar vara att dela på härligheten. hur gör jag det per automatik tro?
(För att sen lägga det i ett hidden-fält antar jag o posta det.)

<html><body>
<FORM name="isn" action="decodeme.asp" method="post">
<h1>Superdecoder</h1>
<input type=reset value="Rensa!">
<input type="submit" >
<input type="button" value="Kolla längd" onclick="alert(document.isn.txt.value.length);">
<br>
<TEXTAREA cols=80 name="txt" rows=25></TEXTAREA>
</FORM>
</BODY></HTML>
Medlem sedan dec. 20025 483 inlägg
#2

Så här kanske du skulle kunna göra:

<head>
<script type="text/javascript">
<!--

function splitText( o ){
	var elm = o.elements[ "txt" ];

	if( elm.value.length > 102399 ){
		document.forms[ "isn" ].elements[ "txt2" ].value = elm.value.substring( 102399, elm.value.length );
		elm.value = elm.value.substring( 0, 102399 );
	}
};

//-->
</script>

</head>

<form name="isn" action="decodeme.asp" method="post" onsubmit="splitText(this)">

<textarea name="txt" cols="80" rows="25"></textarea>
<input type="hidden" name="txt2">
<input type="submit">

</form>

:)

Medlem sedan mars 20015 287 inlägg
#3

Kanon! Verkar fungera ypperligt.

Medlem sedan mars 20015 287 inlägg
#4

Det där gick ju bra, men nu fick jag då en liten ide om att kombinera detta med ett automatiskt skickande av formen.

Fungerar det? Måste det till någon sorts fördröjning kanske?

<body onload="document.formen.submit();">

Detta verkar inte göras att "onsubmit"-grejen körs!?!

/red. det gjorde den nog visst ja, det var ett annat script som *givetvis* inte hann köras.

Stuvar om i mina script så ska det nog gå.

Medlem sedan mars 20015 287 inlägg
#5

Ok, så långt allt väl, men nu stöter jag på patrull.

Jag vill att detta ska fungera:

<SCRIPT language=JavaScript><!--
Decode();document.formen.texten.value=(ky);document.formen.submit();
//--></SCRIPT>

Men det gör det inte...
När jag slänger på:
document.formen.submit();
Så får jag felmess om att det är för mycket data skickat, mao har inte funktionen att dela upp fungerat?
Vad göra tro?

Medlem sedan mars 20015 287 inlägg
#6

mm fick till det till slut... genom att hårdkoda:

var elm = o.elements[ "txt" ];

till:

var elm = document.formen.texten;

Inte första gången jag hakas upp på 'this'...
Väldigt bra när det fungerar dock. :)

Medlem sedan jan. 20013 406 inlägg
#7

Det är väl per formulär som det är en begränsning och inte per fält i formuläret. Då fungerar det ju inte att dela upp det på flera fält. Åtminstonde får inte jag det att fungera med mer än 100 000 tecken. även om jag delar upp det på flera fält.

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)