JS set Value

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dylan -

Dylan -

14/07/2013 11:58:43
Quote Anchor link
Hoi,

Ik ben bezig met een script dat een random naam moet verzinnen met javascript.

Momenteel is dit mijn script:
<script>

function setUsername() {
var number = Math.random() * Math.random() * 64;
var set = document.getElementsByTagName('param');
set.username.value = "Player" + number;

}
</script>

En dat script zou de value van username moeten invullen:
<param name="username" value="">

Alleen werkt dat niet.

Zo roep ik de functie aan:
<body onload="setUsername()">

Hopelijk weet u de oplossing
 
PHP hulp

PHP hulp

05/11/2024 11:39:49
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/07/2013 12:11:22
Quote Anchor link
hallo,

getElementsByTagName geeft een array terug. een array is een lijst, in dit geval een lijst van elementen.

alleen getElementById() geeft direct een element terug.
 
Wouter J

Wouter J

14/07/2013 12:36:55
Quote Anchor link
[nerdmode]getElementsByTagName geeft een live ElementCollection of NodeList terug[/nerdmode]

Naast dat de functie dus een traversable terug geeft en je die dus eerst door een for of forEach loop moet halen voordat het werkt wil ik je ook al vast 4 tips meegeven:
- param is hier niet voor gemaakt en moet je hier ook niet voor gebruiken, gebruik bijv. <input>
- haal elementen niet op in een functie. Dit zorgt ervoor dat je elke keer als je die functie aanroept JS de hele DOM laat doorzoeken naar die elementen. Haal alle nodige elementen op in de global scope en gebruik die in de functie (en maak misschien zelfs gebruik van een global scope)
- Gebruik geen inline JS (onload=..., onclick=..., ect.) doe dat zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
document.body.onload = ...;
// of mooier
window.onload = ...;

// en de moderne variant (werkt niet in oldIE)
window.addEventListener('click', ..., false);

- Geef elementen zoveel mogelijk een ID mee en haal de elementen zo veel mogelijk met hun ID op.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.