2017-07-06 3 views
1

Hallo Ich habe eine Funktion, die ein zufälliges Listenelement auswählt und innerhalb dieses Listenelements ein Eingabefeld hat. Das Ziel besteht darin, dass der Benutzer die Felder ausfüllt und dann eine Taste drückt, um ein zufälliges Listenelement auszuwählen und den Wert dieses Eingabefelds innerhalb dieses Listenelements anzuzeigen.Wert des Eingabefeldes nach zufälliger Funktion erhalten Javascript

Im Moment habe ich die Zufallsfunktion arbeiten, es wählt eine zufällige Liste Element, aber ich habe Probleme bei der Anzeige des Wertes auf dem Eingabefeld. Scheint, wie kippe den Browser erkennen, was der Benutzer in das Eingabefeld eingegeben hat, weil alle die Konsole spuckt ist <li><input type='text'></li>

HTML:

<ul id="list"> 
    <li><input type='text'></li> 
    <li><input type='text'></li> 
    <li><input type='text'></li> 
</ul> 

<button id="randomize">randomize</button> 

<p id="result">hello</p> 

jS:

var randomize = document.getElementById("randomize"); 
var listItems = document.getElementById("list").getElementsByTagName("li"); 
var result = document.getElementById("result"); 

randomize.addEventListener("click", randomizeIt); 

function randomizeIt() { 
    var randomItem = listItems[Math.floor(Math.random() * listItems.length)]; 
    result.innerHTML = randomItem.value; 
    console.log(randomItem); 
} 

jsfiddle

Vielen Dank!

Antwort

3

Sie müssen nur die childNode (das ist das Eingabeelement) greifen.

result.innerHTML = randomItem.childNodes[0].value; 

jsfiddle

+0

genial diese funktionierte perfekt danke –

+0

@cup_of froh, das zu hören! Bitte akzeptiere die Antwort, wenn du damit einverstanden bist – Will

Verwandte Themen