2011-12-20 6 views
1

私のコードは、私のshowColor関数の値としてどのようなユーザー入力を使用することができるように見えます。私はdocument.getElementsByNameを使用しましたが、エラーが発生しました。タイプエラーです。誰かが助けることができますか?ありがとう!どのように入力フォームから値を取得し、私のJavaScript関数のいずれかで使用する

<input type="text" name="color" value="Input Your Fav Color"> 
<button type="button" onClick="showColor('red')">Show Color</button> 

答えて

1

私はあなたがこの

document.getElementsByName('color').value 

をやっているので、それはあなたが要素与える代わりにこれを行う代わりに、

document.getElementsByName('test')[0].value 

getElementsByNameため、戻りコレクションを、またはする必要があります推測していますid、代わりにgetElementByIdを使用してください。

0

あなたが実際に.getElementById(「カラー」)を使用してする必要があり、入力はあなたが簡単にJavaScriptを介して、その値を取得できるようにターゲットinputにIDを割り当てることになるでしょう

<input type="text" name="color" id="color" value="Input Your Fav Color"> 
1

も持っています。

<input id="userColor" type="text" name="color" value="Input Your Fav Color" > 

あなたはそのようにのような値を取得することができます

var usercolor = document.getElementById('userColor').value; 

またはあなたの例を使用して

<button type="button" onClick="showColor(document.getElementById('userColor').value)">Show Color</button> 
+0

これは完璧に機能します!ありがとう! – sammiwei

+1

ようこそ。ハッピーコーディング! – mrtsherman

1

利用DOM:

<button type="button" onClick="showColor(document.getElementsByName('color')[0].value)">Show Color</button> 

ます場合、問題があるでしょう名前がの要素が増えていますページにあるが、私はあなたが持っていないと仮定します。

+0

これは、getElementsByNameが同じ名前の値の配列を返すことを意味していましたか?@Lolo – sammiwei

+0

実際には 'NodeList'ですが、それはコレクションです。 – Krzysztof

+0

私は見る!ありがとう! – sammiwei

関連する問題