webForumDet fria alternativet

minst 75 tecken och inte mer än två bokstäver i rad

JavaScript

17 svar · 382 visningar · startad av DiDjo

Medlem sedan nov. 2002544 inlägg
Frågan#1

Hur gör man en kod som gör följande:
Minst 75 tecken och inte mer än två bokstäver i rad i en textruta!
Tanken är att den ska vara till en dagbok, så man inte skulle kunna fuska! Sen om det går att man inte kan skriva samma ord två ggr i rad! Men bara de två första skulle va bra :D

Medlem sedan nov. 2002544 inlägg
#2

Är det igen som vet??? Ett script som gör att man minst måste skriva 75 tecken och att man inte får ha mer än 2 bokstäver irad!?!?!? Snälla någon?

Medlem sedan dec. 20025 483 inlägg
#3

Någonting sådant här kanske:

<head>

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

function checkChars(o){
	var words = [];

	if(o.value.indexOf(" ")!=-1) words = o.value.split(" ");

	for(var i=0, j=1; i<words.length; i++, j++){
		if(words[i]==words[j]) alert("Du får inte skriva samma ord två gånger i rad");
	}
};

window.onunload = function(){
	if(document.forms['foo'].elements['bar'].value.length < 75) alert("Du måste skriva minst 75 stycken tecken");
};

//-->
</script>

</head>

<body>

<form name="foo">

<textarea name="bar" rows="15" cols="50" onkeyup="checkChars(this)"></textarea>

</form>

</body>

:)

Medlem sedan nov. 2002544 inlägg
#4

åååå tack så mycke! Jag har sökt i forumet men inte hittat nått.... bra! TACKAR :birp!

Medlem sedan nov. 2002544 inlägg
#5

Men! Meddelandet kommer upp! Men inlägget postas ändå!
Hur gör man e stopp????

<title>DiDjo Community - Skriv i Dagboken </title>
<script type="text/javascript">
<!--

function checkChars(o){
	var words = [];

	if(o.value.indexOf(" ")!=-1) words = o.value.split(" ");

	for(var i=0, j=1; i<words.length; i++, j++){
		if(words[i]==words[j]) alert("Du får inte skriva samma ord två gånger i rad");
	}
};

window.onunload = function(){
	if(document.forms['form1'].elements['text'].value.length < 75) alert("Du måste skriva minst 75 stycken tecken");
};

//-->
</script>
</head>

<body>
        <script>

function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}
}
        </script>
        <%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/dagbok.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM dagbok "
rs.Open Addera, Connect, 3, 3 

if request.querystring("action")="spara" then
rs.addnew
rs("vems") = session("user")
rs("rubrik")=request.form("rubrik")
rs("text")=request.form("text")
rs("vemsid")=session("id")
rs("datum")=now
rs.update

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/DiDjo_com_nya08745745745.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where id='"&session("id")&"'"
rs.Open Addera, Connect, 3, 3 
rs("status") = rs("status") + poangdagbok
rs.update

response.redirect "dagbok.asp?id="&session("id")
end if
%>
Medlem sedan dec. 20025 483 inlägg
#6

Ändra

window.onunload

till

window.onbeforeunload

:)

Medlem sedan nov. 2002544 inlägg
#7

näpp det skickas iaf!

Medlem sedan dec. 20025 483 inlägg
#8

Du kanske kan använda en if-sats i ASP-koden för att avgöra om det skall postas, typ:

If Len(Request.QueryString("text")) > 74 Then

     ' Resten av ASP-koden...

End If

:)

Medlem sedan nov. 2002544 inlägg
#9

ööö! Jag har hjärnsläpp.... vart ska jag lägga den da?

Medlem sedan dec. 20025 483 inlägg
#10

Lägg all den ASP-kod som du postade i ett tidigare inlägg där det står " ' Resten av ASP-koden... ".

:)

Medlem sedan juni 20014 421 inlägg
#11

Ta en glutt på den här tråden:
http://www.webforum.nu/showthread.php?s=&threadid=54999

Medlem sedan nov. 2002544 inlägg
#12

Ja nu fungerar det! Men så fort man lämnar sidan så kommer meddelandet upp! Ska JAVAscriptet också ligga innanför den?

Medlem sedan nov. 2002544 inlägg
#13

Meddelandet kommer upp men när man skriver rätt så postas inte inlägget!

Medlem sedan dec. 20025 483 inlägg
#14

Hur ser koden din ut?

:)

Medlem sedan nov. 2002544 inlägg
#15

Hela sidan? Här ä den utan title och sånt:

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

function checkChars(o){
	var words = [];

	if(o.value.indexOf(" ")!=-1) words = o.value.split(" ");

	for(var i=0, j=1; i<words.length; i++, j++){
		if(words[i]==words[j]) alert("Du får inte skriva samma ord två gånger i rad");
	}
};

window.onunload = function(){
	if(document.forms['form1'].elements['text'].value.length < 75) alert("Du måste skriva minst 75 stycken tecken");
};

//-->
</script>
</head>

<body>
        <script>

function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}
}
        </script>
<%If Len(Request.QueryString("text")) > 74 Then%>

        <%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("*****.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM dagbok "
rs.Open Addera, Connect, 3, 3 

if request.querystring("action")="spara" then
rs.addnew
rs("vems") = session("user")
rs("rubrik")=request.form("rubrik")
rs("text")=request.form("text")
rs("vemsid")=session("id")
rs("datum")=now
rs.update

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("**********")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where id='"&session("id")&"'"
rs.Open Addera, Connect, 3, 3 
rs("status") = rs("status") + poangdagbok
rs.update

response.redirect "dagbok.asp?id="&session("id")
end if
%>

<%End If%>

<%Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv where id='"&session("id")&"'"
rs1.Open Addera, Connect, 3, 3%>

<p><div id="Layer7" style="position:absolute; width:756; height:21; z-index:4; left: 10; top: 25; background-image=url('bilder/ruta_bak.gif'); layer-background-color: #0066FF; border: 1px none #000000">
<table width="755" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
  <tr> 
    <td height="20" background="bilder/ruta_bak.gif" width="752">
    <div align="left">
  <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Skriv i 
  Dagboken</font></b></div></td>
  </tr>
</table>
</div><br>
&nbsp;<div id="Layer3" style="position:absolute; width:20; height:2; z-index:3; left: 167; top: 51">
  <strong style="font-weight: 400"> 
<table width="599" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
  <tr>
    <td bgcolor="f0f0f0" width="600">
  <font face="Verdana, Arial, Helvetica, sans-serif" size="2">     
  <strong> 
<%if rs1("blockaddagbok") = true then%>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">Du har blivit blockerad från att skriva i dagboken! Kontakta admin....
<%else%>
<form name="form1" method="post" action="dagbok_skapa.asp?action=spara" onSubmit="submitonce(this)">
        Rubrik</strong><strong style="font-weight: 400"><br>
        <input name="rubrik" type="text" size="60"> <br>
        </strong>
  <strong>           Meddelande</strong><strong style="font-weight: 400"><br>

<textarea name="text" rows="7" cols="60" onkeyup="checkChars(this)"></textarea>

        <br>
        <br><br><br>
        <html>

        <input type="submit" onclick="kontrollera(document.form1.text.value);" name="Submit" value="Skicka">	

      </form></strong></font></p>
</form>
<%end if%>
    </td>
  </tr>
</table>
</div>

</p>

</body>

</html>
Medlem sedan dec. 20025 483 inlägg
#16

Eftersom du använder dig av method="post" får du ändra:

If Len(Request.QueryString("text")) > 74 Then

till

If Len(Request.Form("text")) > 74 Then

:)

Medlem sedan dec. 20025 483 inlägg
#17

Hmm, ta bort If-satsen som jag gav dig tidigare och gör så här istället: När formuläret har skickats till "dagbok_skapa.asp" kollar du på den sidan om antalet tecken är under 75. Typ:

Response.Buffer = True

If Len(Request.Form("text")) < 75 Then
	Response.Redirect("error.asp")
End If

Om antalet tecken är mindre än 75 skickas besökaren till "error.asp" (där du kan tala om för denne att antalet tecken måste vara minst 75).

:)

Medlem sedan nov. 2002544 inlägg
#18

Men det fungerar med denna:If Len(Request.Form("text")) > 74 Then

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)