Toon posts:

javascript form geeft waardes in IE goed door, firefox niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een nieuwe website een searchboxje gemaakt om domeinnamen te check of ze nog beschikbaar zijn, en dit werkt perfect in MSIE.

Maar in firefox geeft hij de waardes niet goed door aan het 2e script die checkt op beschikbaarheid, de javascript console zegt:


Fout: document.forms[0].domeinnaam has no properties
Bronbestand: http://www.domeinregistratie.info/site/
Regel: 61

Fout: document.getElementById("htmlid") has no properties
Bronbestand: http://www.domeinregistra...Zoeken%21&besteldomeinen=
Regel: 61

Fout: document.getElementById("htmlid") has no properties
Bronbestand: http://www.domeinregistra...Zoeken%21&besteldomeinen=
Regel: 61


Ik snap niet precies wat hij hier nu mee bedoelt, voordat omdat het in IE wel werkt, dan zou ej toch zeggen dat ze code wel correct genoeg is om uit te voeren..

Dit is mijn javascript:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
function check()
{
var domeinnaam = document.forms[0].domeinnaam.value;
var namen = "";
ext=document.forms[0].ext;
for (i=0;i<ext.length;++ i)
{
if (ext[i].checked)
{
namen+=domeinnaam + ext[i].value + "|";
}
}
document.forms[0].besteldomeinen.value = namen.substr(0,namen.length-1);
}
</script>


Dit script kijkt dus welke domeinnaam ingevuld is, en welke selectievakjes zijn aangeklikt en maakt er daarna een variabele van in deze vorm:
domeinnaam.nl | domeinnaam.com | domeinnaam.co.uk

Het script staat op:

http://www.domeinregistratie.info/site/
(werkt dus fine in IE, maar firefox niet).

Iemand een idee wat de fouten inhouden?

[ Voor 48% gewijzigd door Verwijderd op 14-10-2005 10:53 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Begin eens met een referentie naar je formulier mee te geven aan je functie:
HTML:
1
onsubmit="return check(this)"

verder; gebruik de elements-collection van je form, en declareer je private vars. Doe ook iets met je returnvalue (geef dus ook een returnvalue terug uit je functie). Al met al zou dit moeten werken:
JavaScript:
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
function check(form)
{
    var domeinnaam = form.elements['domeinnaam'].value;
    var namen = '';
    var ext = form.elements['ext'];
    for (var i = 0; i < ext.length; i++)
    {
        if (ext[i].checked)
        {
            if (namen != '') namen += '|';
            namen += ext[i].value;
        }
    }

    if (namen == '')
    {
        alert('geen extensies gekozen!');
        return false;
    }
    else
    {
        form.elements['besteldomeinen'].value = namen;
        return true;
    }
}


last but not least: weet je zeker dat dit niet zonder JS kan? ;)

[ Voor 20% gewijzigd door crisp op 14-10-2005 12:30 ]

Intentionally left blank


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Waarom noem je de checkboxes niet ext[]?

Dan krijg je in je script een array van extensies die aangevinkt zijn. :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?