HTML check och lite till...

JavaScript

7 svar · 197 visningar · startad av Jymdis

Medlem sedan mars 20016 260 inlägg
Trådstart#1

Hej skulle behöva ett script som när man trycker på submit kollar så att innehållet i alla textfält inte har någon html kod i sig..

Sen behöver jag ett script som kolla att ett användar namn bara har bokstäver (inte åäö) och siffror i sig (ej mellanrum.. _ går dock).. Den ska checka ett textfält vid submit..

Skriva gärna ut dom var för sig och skriv ut hela funktionen.. dvs formuläret och så också.. INte alls vass på Javascript..

mvh
Jymdis

Medlem sedan feb. 2001265 inlägg
#2

På Konsum:
"Jag behöver tre påsar chips, två backar läsk och ett sexpack. Lägg dom i min kundvagn som jag inte hämtat, och betala i kassan. Jag är inte alls bra på att handla."

Du vet, man kan alltid försöka innan, antingen söka här på forumet eller på nån stor script-sajt, typ javascript.com!

Medlem sedan mars 20016 260 inlägg
#3

Okeeej..
Känner du så..
Nu kan man ifs maila iväg beställningar till ICA där jag bor ;)
Konsum.. Annan sak =)
Iaf.. Det är väl inte helt omöjligt att nån sitter med en liten kod hur det skulle se ut? Iaf en liten bit på vägen..

Medlem sedan feb. 2001265 inlägg
#4

Japp, så känner jag :)
Det här är ett forum, där man får hjälp med problem... Inte ett script-arkiv. Dessa finns till vänster ;)

Ok, en liten ledtråd då:
indexOf('<') kollar igenom om det finns ett <-tecken med i en sträng...

Medlem sedan juni 20004 308 inlägg
#5

Nu när du försökt en stund kan vi väl hjälpa dig med svaret ;)

<script language="JavaScript">
valid="abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ_0123456789";
function checkthis(){
	document.myForm.foo.value=document.myForm.foo.value.replace(/</g,"<");	
	document.myForm.foo.value=document.myForm.foo.value.replace(/>/g,">");	
	fel=0;
	for(i=0;i<=document.myForm.user.value.length;i++){
		if(valid.indexOf(document.myForm.user.value.substring(i,1))<0){ fel++; }
	}
	return (fel)?false:true;
}
</script>
<form name="myForm" onSubmit="return checkthis();">
<input type="text" name="foo">
<input type="text" name="user">
<input type="submit" value="Skicka">
</form>

I fältet foo ersätter vi < > mot < > medans vi i fältet user kollar så att det bara innehåller tecken från valid.

Medlem sedan mars 20016 260 inlägg
#6

Får inte det att funkagera:

<link rel="stylesheet" href="inloggstyle.css" type="text/css">
<link rel="stylesheet" href="online.css" type="text/css">
</head>
<body bgcolor="#FFFFCC" text="#000000" leftmargin="30" topmargin="10">
<script language="JavaScript">
valid="abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ_0123456789";
function checkthis(){
document.redigera.message1.value=document.redigera.message1.value.replace(/</g,"<"); 
document.redigera.message1.value=document.redigera.message1.value.replace(/>/g,">"); 
document.redigera.rubrik1.value=document.redigera.rubrik1.value.replace(/>/g,">"); 
document.redigera.rubrik1.value=document.redigera.rubrik1.value.replace(/</g,"<")
document.redigera2.message2.value=document.redigera2.message2.value.replace(/>/g,">");
document.redigera2.message2.value=document.redigera2.message2.value.replace(/</g,"<");
document.redigera2.rubrik2.value=document.redigera2.rubrik2.value.replace(/>/g,">");
document.redigera2.rubrik2.value=document.redigera2.rubrik2.value.replace(/</g,"<");
document.redigera2.message3.value=document.redigera2.message4.value.replace(/>/g,">");
document.redigera2.message3.value=document.redigera2.message4.value.replace(/</g,"<");
document.redigera2.rubrik3.value=document.redigera2.rubrik3.value.replace(/>/g,">");
document.redigera2.rubrik3.value=document.redigera2.rubrik3.value.replace(/</g,"<");
fel=0;
for(i=0;i<=document.myForm.user.value.length;i++){
if(valid.indexOf(document.myForm.user.value.substring(i,1))<0){ fel++; }
}
return (fel)?false:true;
}
</script>

<form name="redigera" method="POST" action="/developer/dagupp.asp" onSubmit="return checkthis();">
  <table width="400" border="0">
    <tr> 
      <td colspan="2"><b><font size="2">Redigera inlägg</font></b></td>
    </tr>
    <tr> 
      <td colspan="2" height="20"><b></b></td>
    </tr>
    <tr valign="top"> 
      <td width="50">Rubrik</td>
      <td> 
        <input type="text" name="rubrik1" class="jepp" size="50" maxlength="35" value="">
      </td>
    </tr>
    <tr valign="top"> 
      <td width="20">&nbsp;</td>
      <td height="20">&nbsp; </td>
    </tr>
    <tr valign="top"> 
      <td>Inl&auml;gg</td>
      <td> 
        <textarea name="message1" class="jepp" cols="50" rows="10"></textarea>
      </td>
    </tr>
    <tr> 
      <td colspan="2"> 
        <p align="center">
          <input type="hidden" name="date" value="2001-06-05">
          <input type="submit" name="Uppdatera" value="Uppdatera" class="jepp">
        </p>
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_update" value="true">
  <input type="hidden" name="MM_recordId" value="34">
</form>

</body>
</html>

Dom extra "rubrikerna och formulären" jag lagt till beror på att pga av vissa grejer skriver ASP koden jag använder ut olika formulär..

Medlem sedan juni 20004 308 inlägg
#7

Jag glömde att ersätta en del tecken innan jag postade meddelandet, så här skall det vara samt motsvarande på alla rader;

document.redigera.message1.value=document.redigera.message1.value.replace(/</g,"<"); 
document.redigera.message1.value=document.redigera.message1.value.replace(/>/g,">");

Dom extra "rubrikerna och formulären" jag lagt till beror på att pga av vissa grejer skriver ASP koden jag använder ut olika formulär..

Alla formulär och fält måste finnas med i koden, annars kommer det att generera fel.

Denna del av koden;

fel=0;
for(i=0;i<=document.myForm.user.value.length;i++){
if(valid.indexOf(document.myForm.user.value.substring(i,1))<0){ fel++; }
}
return (fel)?false:true;

använder du inte heller, och kommer att generera fel eftersom du inte har något formulär som heter "myForm" med ett fält som heter "user". Även om du inte skall använda denna funktion (för att validera användarnamn) måste du returnera true från funktionen, annars kommer inte formuläret att postas.

return true;
Medlem sedan mars 20016 260 inlägg
#8

jag får inga varningar om script fel och så? nu är sajten bara anpassad för IE.. kanske det?

272 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
141 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)