Avatar billede gadebarnet Nybegynder
12. juli 2005 - 14:35 Der er 22 kommentarer

skal gøre noget på længde af felt.

JEg skal bruge en java ting der kan lave action på følgende.

feltet skal være 7 chars langt og det første skal være #
Avatar billede roenving Novice
12. juli 2005 - 14:44 #1
-- og så skal der vel kun være tal og a-f i ?-)
Avatar billede roenving Novice
12. juli 2005 - 14:47 #2
-- og hvornår skal der ske noget ?o]

-- når de 7 karakterer nås, eller ved onblur, submit eller ...
Avatar billede gadebarnet Nybegynder
12. juli 2005 - 14:48 #3
ja, det ville være dejligt hvis det kun kunne være

0123456789abcdef og så # som første karakter

Og det skal ske ved indtastning... men det skal jeg nok selv ordne... bare du kan bakse en function sammen.. :)
Avatar billede roenving Novice
12. juli 2005 - 14:59 #4
onkeyup="checkInput(this);"

function checkInput(elm){
  if(elm.value.length!=7)
    return;
  if(elm.value.match(/^#[\da-f]{6}$/i)){
    //feltet indeholder et #-tegn plus 6 hexadecimale cifre !-)
    //Udfør tildelingen af farven ...
  }
}

PS. java og javascript har stort set _intet_ med hinanden at gøre, så brug ikke java som en forkortelse for javascript ...
Avatar billede gadebarnet Nybegynder
12. juli 2005 - 15:03 #5
JEg kan ikke lige få det til at fungere...

det skal fungere i et form textfelt og den skal gøre det onthefly....

Man skal kun kunne indtaste 1234567890abcdef og #

Men # tegnet skal KUN være tilladt som det første tegn...

Er det til at forstå?
Avatar billede roenving Novice
12. juli 2005 - 15:26 #6
Kun kunne ?-)
Avatar billede gadebarnet Nybegynder
12. juli 2005 - 15:34 #7
ja,hvis andre char's end 1234567890abcdef# skal den ikke skrive dem...

forstår du?
Avatar billede olebole Juniormester
12. juli 2005 - 16:20 #8
<ole>

Hvilke browsere skal understøttes? Du skal åbenbart have cancelled nogle key-operationer - og browsere har forskellige event-modeller, så det må vi lige vide  :)

/mvh
</bole>
Avatar billede gadebarnet Nybegynder
13. juli 2005 - 09:11 #9
bare til IE
Avatar billede roenving Novice
13. juli 2005 - 11:49 #10
Skal du ikke bruge det på Internettet ?-)
Avatar billede gadebarnet Nybegynder
13. juli 2005 - 11:51 #11
jo, men kun til IE
Avatar billede per1291 Nybegynder
18. juli 2005 - 00:38 #12
Hej gadebarn!
Mangler du stadig et svar?
For så vil jeg finde på et. - Hilsen  Per
Avatar billede gadebarnet Nybegynder
18. juli 2005 - 12:23 #13
Ja der er ikke kommet noget endnu.
Avatar billede per1291 Nybegynder
18. juli 2005 - 20:49 #14
Prøv med dette. (Skal lige pyntes med type="text/javascript" osv.)

<html>
<head>
<script>
var pos=0
function handleChar (field, event)
{
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
var tegn= String.fromCharCode(keyCode)
if ((tegn == "#") && (pos == 0)) {pos++; return true}
if (("0123456789abcdef".indexOf(tegn) >= 0) && (pos > 0) && (pos < 7)) {pos++; return true}
return false
}     
</script>
</head>
<body>
<form>
  <table width="273" border="0" align="center" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC">
  <tr><td colspan="2" align="center">Første tegn skal være: #</td></tr>
  <tr><td colspan="2" align="center">Derpå 6 af disse tegn: 0123456789abcdef</td></tr>
    <tr>
      <td align="right" height="47" valign="bottom" width="94">Indtast kode: </td>
      <td height="47" valign="bottom" width="172">
        <input type="text" name="KODE" onkeypress="return handleChar(this, event)">
      </td>
    </tr>
    <tr>
      <td align="right" height="44" width="94">&nbsp;</td>
      <td height="44" width="172">
        <input type="submit" name="Submit" value="Send">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input type="reset" value="Slet">
      </td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede roenving Novice
18. juli 2005 - 23:11 #15
>>per

Hvorfor skriver du overhovedet et scripttag uden en type-attribut, og for den sags skyld et html-dokument uden doctype ?-)

-- kan være, at du mener, at det er indlysende, at den slags skal på, men netop i et forum som dette, hvor man skal forvente at for hver gang eet spørgsmål besvares, vil svaret blive klonet 2-5-10-100 gange, og alle klonerne vil ikke tænke det du har tænkt, endsige spekulere over, at det ene script de har taget fra det ene svar har et andet script-tag end det, de har taget fra det andet ...

-- send derfor kun rudimentære kode-stumper, hvis de alligevel ikke vil virke uden det omkransende !-)
Avatar billede per1291 Nybegynder
19. juli 2005 - 00:18 #16
roenving -> Din indvending er forstået og taget til efterretning. Jeg forsømte at lave koden helt færdig, dels af dovenskab, og dels fordi koden faktisk fungerede i min egen Internet Explorer. (Dit eget indlæg er forresten flot - meget brugbart når man submitter!

Hermed en korrekt udgave af mit forrige indlæg:

<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Check indtastning</title>
<script language="javascript" type="text/javascript">
var pos=0
function handleChar (field, event)
{
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
var tegn= String.fromCharCode(keyCode)
if ((tegn == "#") && (pos == 0)) {pos++; return true}
if (("0123456789abcdef".indexOf(tegn) >= 0) && (pos > 0) && (pos < 7)) {pos++; return true}
return false
}     
</script>
</head>
<body>
<form>
  <table width="273" border="0" align="center" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC">
  <tr><td colspan="2" align="center">Første tegn skal være: #</td></tr>
  <tr><td colspan="2" align="center">Derpå 6 af disse tegn: 0123456789abcdef</td></tr>
    <tr>
      <td align="right" height="47" valign="bottom" width="94">Indtast kode: </td>
      <td height="47" valign="bottom" width="172">
        <input type="text" name="KODE" onkeypress="return handleChar(this, event)">
      </td>
    </tr>
    <tr>
      <td align="right" height="44" width="94">&nbsp;</td>
      <td height="44" width="172">
        <input type="submit" name="Submit" value="Send">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input type="reset" value="Slet">
      </td>
    </tr>
  </table>
</form>
</body>
</html>

- - -

Hvis det stadig ikke er helt korrekt, så vil roenving sikkert rette til.

Hilsen  Per
Avatar billede roenving Novice
19. juli 2005 - 00:30 #17
*lol*

-- jeg vil dog altid bruge en fuld doctype inklusive dtd-linket, da jeg ikke vil risikere, at IE bruger den lille bitte blunder som undskyldning for at disable mange væsentlige css-ting !-)

-- og nu er onkeyup ikke velegnet til hverken at checke for input onsubmit eller return false-ting, da den reagerer fuldstændig ornsvagt (tegner det nye tegn først og sletter det bagefter, hvis man aktivt fjerner det ,-(
Avatar billede per1291 Nybegynder
19. juli 2005 - 01:25 #18
roenving -> Så hold dog op med at more dig på min bekostning. Jeg forsøger seriøst at lære noget nyt, det er derfor jeg er her.

Jeg har ikke nævnt onkeyup, ville kun referere til din funktion checkInput().

Jeg går ud fra, at du mener min første linje skal erstattes af

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

Jeg må tilstå, at jeg aner ikke forskellen. Jo, jeg kan regne ud at man fortæller browseren at den korrekte fortolkning er defineret på nævnte hjemmeside. Men hvad browseren derefter gør, det ved jeg ikke. - Hilsen  Per
Avatar billede jobdollas Nybegynder
19. juli 2005 - 11:48 #19
JEg kigge rpå det.
Avatar billede roenving Novice
19. juli 2005 - 13:50 #20
>>jobdollas

-- det er du da meget velkommen til ...

>>per

-- jeg forsøgte ikke at 'grine på dej', men bare af din bemærkning om, at jeg ville rette ...

-- og du kan forsøge et simpelt dokument, hvis du vil opdage noget af forskellen ...

Prøv først at se dette i IE og f.eks. FireFox, og derefter prøver du igen uden dtd-link:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;}
</style>

<title>Se forskellen i IE css-fortolkning</title>
</head>
<body>
<div style="width:200px;height:200px;border:50px solid red;background:blue;margin:0 auto;">&nbsp;</div>
</body>
</html>

!-)
Avatar billede per1291 Nybegynder
19. juli 2005 - 16:28 #21
Okay, sorry roenving at jeg var for nærtagende.
Vil studere dit eksempel. - Hilsen  Per
Avatar billede per1291 Nybegynder
19. juli 2005 - 16:45 #22
Meget illustrativt. Firefox gør som den skal, uanset hvad. Men MSIE laver noget rod hvis den selv skal bestemme. (Bl.a. anbringes BORDER ikke uden om, men inden i div'en.)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester