Toon posts:

[HTML] Enter én muisklik op form

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe kan ik in onderstaande code een regel toepassen dat wanneer de tekstvakken zijn ingevuld, ik ook op Enter kan drukken in plaats van te klikken met de muis op Login?

Deze vraag is wel vaker gesteld, maar de goede oplossing kon ik niet vinden.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<center><form name=login>
<table border=1 cellpadding=3>

<tr><td colspan=2 align=center><font size="+2"><b>Members-Only Area!</b></font></td></tr>
<tr><td>Username:</td><td><select name=memlist>
<option value='x'>
<option value='test|42691|NGLOQEMM'>test
</select></td></tr>
<tr><td>Password:</td><td><input type=password size=10 maxlength=8 name=pass></td></tr>
<tr><td colspan=2 align=center><input type=button value="Login" onclick="check(this.form)"></td>
</tr>
</table>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
function check(form) {
which=form.memlist.selectedIndex;
choice = form.memlist.options[which].value+"|";
if (choice=="x|") {
alert("Please Select Your Name From The List");
return;
}
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
h1=makehash(form.pass.value,3);
h2=makehash(form.pass.value,10)+" ";
if (h1!=params[1]) {
alert("Incorrect Password!"); return; };
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1)
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a-=(h2.substring(i,i+1)*1);
if (a<0) a+=26;
page+=alpha.substring(a,a+1); };
top.location=page.toLowerCase()+".html";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</center>

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

zet een dummy action in je form en roep de functie onsubmit aan met een return false om de default action te cancellen.

Intentionally left blank


Verwijderd

Topicstarter
Juist. Dat klinkt al goed. Hoe en waar in mijn code pas ik dat toe? Weet er niet zoveel van als jullie. :P

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

*zucht*

onclick van je button afhalen, en je formtag als volgt wijzigen:
HTML:
1
<form action="#" onsubmit="check(this);return false">


Je HTML is ook een rommeltje trouwens...

oh ja, van je button moet je een submit maken:

HTML:
1
<input type="submit" value="Login" />

[ Voor 36% gewijzigd door crisp op 03-11-2004 10:19 ]

Intentionally left blank


  • wvdburgt
  • Registratie: Juli 2003
  • Laatst online: 17-04 00:27

wvdburgt

MacOS all the way baby!

misschien een tip, ik weet et niet zeker van html maar ik dacht dat je met // of /* je comments kan toevoegen. dat maakt het vaak een stuk makkelijker. anders lijkt het net een verhaal en zo word het niet makkelijker op als je straks grote scripts hebt. verder heb ik geen verstand van html maar het is maar een tip:)

AMD Ryzen 5 7600X | Asus Prime X670-P | Corsair Vengeance 2x 16GB DDR5 PC5200 | XFX Speedser MERC 310 AMD 7900 XTX| http://wvdburgt.nl


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

lammmetak schreef op 03 november 2004 @ 10:32:
misschien een tip, ik weet et niet zeker van html maar ik dacht dat je met // of /* je comments kan toevoegen. dat maakt het vaak een stuk makkelijker. anders lijkt het net een verhaal en zo word het niet makkelijker op als je straks grote scripts hebt. verder heb ik geen verstand van html maar het is maar een tip:)
Je bedoelt in javascript, en dat klopt:
code:
1
2
3
4
5
6
7
8
<script type="text/javascript">

// comment op 1 regel

/* een comment
    op meerdere regels */

</script>


gewoon netjes indenten scheelt ook al de helft qua leesbaarheid ;)

In HTML kan je op deze manier commenten:

HTML:
1
<!-- een comment in HTML -->


note dat die HTML-comments binnen een <script>-tag hedentendage absoluut overbodig zijn.

[ Voor 14% gewijzigd door crisp op 03-11-2004 10:36 ]

Intentionally left blank


Verwijderd

Topicstarter
Bedankt voor de reacties. Ik heb besloten om een andere code te gebruiken, namelijk deze:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<script>
function submitentry(){
password = document.password1.password2.value.toLowerCase()
passcode = 1
for(i = 0; i < password.length; i++) {
passcode *= password.charCodeAt(i);
}
if(passcode==156291440)
{
window.location="dloads.htm"}
else{
alert("Wachtwoord onjuist!")}
}
</script>

<form name="password1">
<br>
<strong>Wachtwoord </strong>
<input type="password" name="password2" size="15">

<input type="button" value="OK" onClick="submitentry()">
</form>
</html>


Ik heb geprobeerd om de methode van Crisp toe te passen, maar het lukt niet zo goed. Waarschijnlijk doe ik iets fout...

Als ik in het veld "Wachtwoord" het wachtwoord intoets en op "OK" klik, gaat alles goed. Druk ik op "Enter", dan word ik niet goed doorgestuurd naar de paigna waar hij heen zou moeten gaan. Het gebruikte wachtwoord staat dan ook bovenin de adresbalk van Internet Explorer.

Ik zou het graag nu zo willen hebben dat ik zowel kan klikken als op "Enter" drukken. Anders mag het ook wel zo zijn dat je ALLEEN kunt klikken, maar dan moet de "Enter-toets" helemaal zijn uitgeschakeld in het form.

[ Voor 24% gewijzigd door Verwijderd op 03-11-2004 12:32 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

Met de code die je nu hebt kan iedereen door in de source te kijken zien waar je heengaat; niet echt een goede beveiliging dus...

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

En om meteen te laten zien hoe zoiets er netjes en conform de standaards uit hoort te zien:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
        <title>Titel</title>
        <script type="text/javascript">

            function submitentry(form)
            {
                var password = form.elements['password2'].value.toLowerCase();
                var passcode = 1;
                for (var i = 0; i < password.length; i++)
                {
                    passcode *= password.charCodeAt(i);
                }
                if (passcode == 156291440)
                {
                    window.location.href = 'dloads.htm'
                }
                else
                {
                    alert('Wachtwoord onjuist!')
                }
                return false; // cancel form-action
            }

        </script>
    </head>
    <body>
        <form action="#" onsubmit="return submitentry(this)">
            <fieldset>
                <legend>Login form</legend>
                <strong>Wachtwoord </strong>
                <input type="password" name="password2" size="15" />
                <input type="submit" value="OK" />
            </fieldset>
        </form>
    </body>
</html>

Intentionally left blank


Verwijderd

Topicstarter
Ja, dat weet ik. Het was ook even snel als voorbeeld bedoeld. Bedankt voor je reacties!

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

crisp, ik ben voor de manier zoals jij de javascript code geschreven hebt, maar was er niet een afspraak ergens over bij voorkeur in een iets afwijkende stijl te programmeren. (En dan kijk ik nu even naar je {}-brackets)

JavaScript:
1
2
3
function fnExample( strText ) {
    fnDoStuff();
    }


Zoeits was het???

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:17

crisp

Devver

Pixelated

RwD schreef op 03 november 2004 @ 13:22:
crisp, ik ben voor de manier zoals jij de javascript code geschreven hebt, maar was er niet een afspraak ergens over bij voorkeur in een iets afwijkende stijl te programmeren. (En dan kijk ik nu even naar je {}-brackets)

JavaScript:
1
2
3
function fnExample( strText ) {
    fnDoStuff();
    }


Zoeits was het???
Persoonlijk vind ik de manier van indenten zoals jij voorsteld foeilelijk; lately gebruik ik steeds vaker matching brackets hoewel ik het vroeger zo deed:

JavaScript:
1
2
3
4
5
function foo() {
  if (bla) {
    // iets
  }
}


anyway: het is een kwestie van smaak ;)

Intentionally left blank

Pagina: 1