Kan man inte sätta en textarea på maxlängd, alltså om man har ett kontaktsystem och inte vill att de ska kunna skriva mer än 500 tecken!
maxlängd...
13 svar · 414 visningar · startad av Fredrik.an
Nej det kan man inte.. du får använda JavaScript, ex.
[red]<form name="foo">
<textarea name="bar" [b]onkeyup="if(document.foo.bar.value.length>500){document.foo.bar.value=document.foo.bar.value.substr(0,500)}"[/b]></textarea>
</form>[/red]
Va? Jag använder mig av det...
Re: maxlängd...
Fredrik.an skrev:
Kan man inte sätta en textarea på maxlängd, alltså om man har ett kontaktsystem och inte vill att de ska kunna skriva mer än 500 tecken!
magnusfernstrom:
På en textarea kan man inte det. :)
Flyttas från ASP
Det funkar inte så jättebra, eller är det jag som har fattat allt fel nu?
Koden:
<html>
<head>
<title>Kontakta | Tillmar.net</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method="post" action="spara.asp">
<table border="0" width="100%">
<tr>
<td width="11%">Namn:</td>
<td width="89%"><input type="text" name="namn"></td>
</tr>
<tr>
<td>Rubrik:</td>
<td><input type="text" name="rubrik"></td>
</tr>
<tr>
<td>Rubrik:</td>
<td>[B]<form name="foo">
<textarea name="texten" onkeyup="if(document.foo.texten.value.length>500){document.foo.texten.value=document.foo.texten.value.substr(0,500)}"></textarea>
</form>[/B]</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Skicka Mejlet">
</td>
</tr>
</table>
</form>
</body>
</html>
Vore tacksam för lite hjälp!
<textarea name="texten" onkeyup="if(document.foo.texten.[b]innerHTML[/b].length>500){document.foo.texten.[b]innerHTML[/b]=document.foo.texten.[b]innerHTML[/b].substr(0,500)}"></textarea>
**if (this.value.length>500)...**osv är mindre att skriva :)
Klistrar man in text i rutan mha musen kommer inte scriptet göra vad det skall, så det kanske vore bra att köra en liknande procedur vid onblur också, fast då kanske varna innan texten kapas. Jag brukar alltid skriva i notepad/wordpad istället för direkt på sidorna och sedan klistra in texten när jag är nöjd.
Anledningen är att ifall strömmen skulle gå, eller nåt annat oväntat händer när man skrivit en halv roman, då är det inte helt tokigt o ha en kopia sparad på datorn!
Sebbe skrev:
<textarea name="texten" onkeyup="if(document.foo.texten.[b]innerHTML[/b].length>500){document.foo.texten.[b]innerHTML[/b]=document.foo.texten.[b]innerHTML[/b].substr(0,500)}"></textarea>
Funkade inte, och det gick inte ens att skicka iväg det :S
Du har med lite för mycket kod ur mitt exempel.
Har nu testat detta och det fungerar galant. :)
[red]<html>
<head>
<title>Kontakta | Tillmar.net</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method="post" action="spara.asp">
<table border="0" width="100%">
<tr>
<td width="11%">Namn:</td>
<td width="89%"><input type="text" name="namn"></td>
</tr>
<tr>
<td>Rubrik:</td>
<td><input type="text" name="rubrik"></td>
</tr>
<tr>
<td>Meddelande:</td>
<td><textarea name="texten" onkeyup="if(this.value.length>500){this.value=this.value.substr(0,500)}"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Skicka Mejlet"></td>
</tr>
</table>
</form>
</body>
</html>[/red]
Palle:
Jag sökte nya lösningar, elelr ajg skippade textarea och körde på input... Men det skapade ju oxå problem.... Den stoppar efter 300 tecken, men skricer jag 301 får jag felmmedelande, och min tanke för att säga till fungerar inte... nå?
<form name="add" method="post" action="dintext.asp?do=add">
<TABLE width="342">
<tr>
<td valign="top" height="19" width="418"><font size="1"><b>Förnamn:</b><br>
<input name="fnamn" type="text" id="fnamn" size="20" value="<%=Request.form("fnamn")%>"></font></td>
</tr>
<TR>
<TD width="418" height="19" valign="top"><font size="1"><b>Din text:</b><br>
<input name="meddelande" type="text" id="adress" size="51" value="<%=Request.form("meddelande")%>" maxlength="300"></font>
</TR>
<TR>
<TD width="418" height="19" valign="top"><INPUT TYPE="Submit" value="Skicka beställning">
</TR>
</TABLE>
</form>
<font color="red"><b>
<h5>
<%
If Request.QueryString("do") = "add" Then
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/bokning.mdb")
SQL = "SELECT * From bokning"
rs.Open SQL, MinCon, 1, 2
rs.AddNew
rs("fnamn") = Request.Form("fnamn")
rs("meddelande") = Request.Form("meddelande")
rs("date") = Date
if len(rs("meddelande")) > 300 then
response.write "För långt"
elseif request.form("fnamn") = "" Then
response.write "Du glömde skriva ditt förnamn."
elseif request.form("meddelande") = "" Then
response.write "Du glömde skriva ditt meddelande."
else
rs.Update
rs.Close
Response.Redirect("bek.asp")
End If
End If
%>
Nja.. du har lite knas i din kod. ;)
Testa följande:
[red]<form name="add" method="post" action="dintext.asp?do=add">
<table width="342">
<tr>
<td valign="top" height="19" width="418">
<font size="1">
<b>Förnamn:</b><br>
<input name="fnamn" type="text" id="fnamn" size="20" value="<%=Request.form("fnamn")%>">
</font>
</td>
</tr>
<tr>
<td width="418" height="19" valign="top">
<font size="1">
<b>Din text:</b><br>
<input name="meddelande" type="text" id="adress" size="51" value="<%=Request.form("meddelande")%>" maxlength="300">
</font>
</td>
</tr>
<tr>
<td width="418" height="19" valign="top"><INPUT TYPE="Submit" value="Skicka beställning"></td>
</tr>
</table>
</form>
<font color="red"><b>
<h5>
<%
If Request.QueryString("do") = "add" Then
strFnamn = Replace(Request.Form("fnamn"), "'", "''")
strMeddelande = Replace(Request.Form("meddelande"), "'", "''")
If Len(strFnamn) = 0 Then
Response.write "Du glömde skriva ditt förnamn."
ElseIf Len(strMeddelande) = 0 Then
Response.Write "Du glömde skriva ditt meddelande."
ElseIf Len(strMeddelande) > 300 Then
Response.Write "För långt"
Else
Set MinCon = Server.CreateObject("ADODB.Connection")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/bokning.mdb")
MinCon.Execute("INSERT INTO bokning(fnamn,meddelande,date) VALUES('"& strFnamn &"','"& strMeddelande &"','"& Date() &"')"),,128
MinCon.Close
Set MinCon = Nothing
End If
Response.Redirect("bek.asp")
End If
%></h5>
</b></font>[/red]