Pobranie zawartości inputa z div

0

Cześć, problem niby banalny, ale mi nie działa. Mam takiego htmla:

<div id="box" name="box">
  <input type="text" name="mail" />
  <button onclick="foo()">OK</button>
</div>

Uzytkownik wpisuje sobie coś co inputa i po wciśnięciu przycisku ma się pokazać w alercie to, co tam wpisał. UWAGA! Funkcja foo ma być bez parametrów.

Moja funkcja teoretycznie powinna działać - wg tego, co piszą w necie wszyscy. Niestety nie działa i efektem jej wykonania jest alert z tekstem: "null", zamiast tego, co wpisuje użytkownik:

function foo()
{
  myDiv = document.getElementById('box');
  edit = myDiv.getElementsByTagName('input');
  alert(edit[0].getAttribute('value'));
}

Czemu to nie działa?

0

Do input dodaj atrybut id="mojeid".
Potem


var inp = document.getElementById("mojeid");
alert(inp.value);

Proponuje opczytac o Document Object Model.

0
function foo()
{
  myDiv = document.getElementById('box');
  edit = myDiv.getElementsByTagName('input');
  alert(edit[0].value); 
}

EDIT//
A czemu nie działało bo Value nie jest atrybutem tego input nie wiem jak to wytłumaczyć ale w przypadku tego input jest nim type i name gdyby był np. taki input:
<input type="submit" value="Wyślij" /> to ma atrybuty value i type. Chyba czaisz?

0
kAzek napisał(a)
function foo()
{
myDiv = document.getElementById('box');
edit = myDiv.getElementsByTagName('input');
alert(edit[0].value); 
}

Tak też próbowałem i nie działa.

Wersja z getElementById działa. Teraz niech ktoś mi wytłumaczy, czemu działa ...ById, a ...ByName już nie

0
Juhas napisał(a)
kAzek napisał(a)
function foo()
{
myDiv = document.getElementById('box');
edit = myDiv.getElementsByTagName('input');
alert(edit[0].value); 
}

Tak też próbowałem i nie działa.

Wersja z getElementById działa. Teraz niech ktoś mi wytłumaczy, czemu działa ...ById, a ...ByName już nie

Tylko czy na pewno pierwszy napotkany input (bo używasz indeksu #0) to faktycznie ten, o którym myślisz? Czy w dokumencie nie ma gdzieś wcześniej innych inputów/formularzy/wtf? Sposób z ID jest pewniejszy bo określa jednoznacznie do czego się odwołujesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0