Avatar billede uneerup Nybegynder
06. september 2006 - 22:39 Der er 12 kommentarer og
2 løsninger

tjekke input felt om det eksistere

Hvordan tjekker man et inputfelt om det eksistere? Jeg generer dem dynamisk så der er forskel på antallet.

Nedenstående virker ikke!

if (document.form.navn_efternavn == true){
document.write("findes");

else {
document.write("findes ikke");
}
Avatar billede thesurfer Nybegynder
06. september 2006 - 23:23 #1
if (typeof(document.form.navn_efternavn) != "undefined")
{
// findes
} else {
// findes ikke
}
Avatar billede uneerup Nybegynder
06. september 2006 - 23:37 #2
det virker ikke rigtig, den siger i fejlen "is null or not an object"

Her er den præcise kode:

if (typeof(document.form.option_4) != "undefined")
{
document.write("findes");
} else {
document.write("findes ikke");
}


har du nogle forslag?

/Uneerup
Avatar billede thesurfer Nybegynder
06. september 2006 - 23:46 #3
Virker perfekt:

<script type="text/JavaScript" language="JavaScript">

function test(f)
{

if (typeof(f.denne_findes_ikke) != "undefined")
{

// findes
alert("findes!");

} else {

// findes ikke
alert("findes ikke!");

}

}
</script>

<form>
<input type="text" name="denne_findes">
<input type="button" onclick="test(this.form); return false;">
</form>
Avatar billede thesurfer Nybegynder
06. september 2006 - 23:49 #4
Fejlen opstår, hvis du afvikler JavaScriptet, som henviser til formen FØR formen oprettes..

Du skal tænke på, at den afvikler koden oppefra og ned..
Avatar billede thesurfer Nybegynder
06. september 2006 - 23:51 #5
Hvis scriptet automatisk skal afvikles, smid funktionen i onload:

<body onLoad="funktionensnavn()">

Eksempel:


<!-- HUSK DOCTYPE! -->
<html>
<head>
<title>siden titel</title>
<script type="text/JavaScript" language="JavaScript">

function funktionensnavn()
{
if (typeof(document.formens_navn.denne_findes_ikke) != "undefined")
{

// findes
alert("findes!");

} else {

// findes ikke
alert("findes ikke!");

}

}
</script>
</head>
<body onload="funktionensnavn()">

<form name="formens_navn">
<input type="text" name="denne_findes">
<input type="button" onclick="test(this.form); return false;">
</form>

</body>
</html>
Avatar billede thesurfer Nybegynder
06. september 2006 - 23:52 #6
Og:
Giv formen et andent navn, end bare "form"..

Ellers skal du bruge forms[0], hvis det er den første form på siden..
Avatar billede uneerup Nybegynder
07. september 2006 - 00:08 #7
Ok, lige et lille spg.

<script type="text/JavaScript" language="JavaScript">

function test(a)
{

if (typeof(form1.hejsa) != "undefined")
{

// findes
alert("findes!");

} else {

// findes ikke
alert("findes ikke!");

}

}
</script>

<form name="form1" id="form1">
<input type="text" name="denne_findes">
<input type="button" onclick="test(denne_findes_ikke); return false;">
</form>

Hvorfor virker dette så ikke? jeg prøvede dit første script og det virkede fint, men jeg vil gerne kunne angive hvilket inputfelt den skal tjekke om findes, men det synes jeg ikke virker???

/Ulrik
Avatar billede uneerup Nybegynder
07. september 2006 - 00:09 #8
hejsa, skal lige byttes ud med a, det virker dog stadig ikke
Avatar billede uneerup Nybegynder
07. september 2006 - 00:14 #9
tror måske bare der skulle et par '' omkring så virker det, smid et svar så skal du point!! Tak for hjælpen
Avatar billede uneerup Nybegynder
07. september 2006 - 00:15 #10
jeg viser lige det færdig script:

<script type="text/JavaScript" language="JavaScript">

function test(a)
{

if (typeof(form1[a]) != "undefined")
{

// findes
alert("findes!");

} else {

// findes ikke
alert("findes ikke!");

}

}
</script>

<form name="form1" id="form1">
<input type="text" name="denne_findes">
<input type="button" onclick="test('denne_findes_ikke'); return false;">
</form>
Avatar billede thesurfer Nybegynder
07. september 2006 - 00:23 #11
06/09-2006 23:51:11 skal bare udvides lidt..

Der er ikke noget galt med koden, og koden besvarer spørgmålet "Hvordan tjekker man et inputfelt om det eksistere?", så lad vær med at afvise svaret.

Jeg kigger på det andet om lidt.
Avatar billede thesurfer Nybegynder
07. september 2006 - 00:38 #12
Sådan:

<script type="text/JavaScript" language="JavaScript">

function test(felt)
{

if (typeof( eval('document.form1.' + felt) ) != "undefined")
{

// findes
alert("findes!");

} else {

// findes ikke
alert("findes ikke!");

}

}
</script>

<form name="form1" id="form1">
<input type="text" name="denne_findes">
<input type="button" onclick="test('denne_findes_ikke'); return false;">
</form>

</body>
</html>
Avatar billede olebole Juniormester
07. september 2006 - 14:46 #13
<ole>

eval er den dårligst performende funktion i JS og ikke nødvendig her:
    if (typeof( document.form1[felt] ) != "undefined")

- does the trick  :)

Læs evt. mere om array- og objekt-notering i JS her:
    http://www.eksperten.dk/artikler/227

/mvh
</bole>
Avatar billede thesurfer Nybegynder
08. september 2006 - 03:04 #14
olebole> Jeg ved godt at eval ikke er det bedste at bruge.. :-)
Men det var lige hvad jeg kom i tanke om, og tænke at det nok ikke gjorde så meget, når det nu var en så simpel operation..
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