2017-01-03 10 views
0

である私はJavaScriptに比較的新しいですし、私はHTMLフォームからのデータを受信しようとしていますが、私はこのエラーを取得するには、奇妙なエラーを取得しています:タイプのエラー:Kが未定義

Type error: K is undefined

マイJavaScript関数です:

function setVal(oForm, name) { 
    var setdefvalue = 1; 
    oForm.elements[name].value = setdefvalue; 
} 

そして、私のHTMLは次のとおりです。

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <script type="text/javascript" src="js/setVal.js"></script> 
    </head> 
    <body id="page-top" class="index" onload="setVal(document.forms[0], 'pages');"> 
    <form> 
     <span name="pages"></span> 
    </form> 
    </body> 
</html> 

これは私にエラーを与えているエリアのサンプルです。

+0

エラーメッセージを含めてください。さらに、Stack Overflowの組み込みJavaスニペットツールを使用して、問題の完全で検証可能な再現を構築してください。 –

+0

あなたが始めているのであれば、共通の括弧や字下げファイルを使用することを強くお勧めします。質問に表示されているスタイルではなく、読みにくく、編集が難しい(特に、ブロックにステートメントを追加することは不必要に複雑です)。 –

答えて

2

問題は、要素がspanで、inputtextareaなどのフォームフィールドではありません。 spanの要素はフォームのelementsコレクションには含まれていません。フォームフィールドのみが含まれています。 span要素にはvalueプロパティもありません(フォームフィールドのみ)。 namespan elementsの有効な属性ではありません(フォームフィールド用です)。

+0

は、に含まれる偶数要素にアクセスできないことを意味しますか? –

+0

@ j0nimost:いいえ 'elements'コレクションには、直接子供かより深い子孫かにかかわらず、フォームのすべてのフィールドが含まれています。たとえば、 ' 'の場合、コードはそのテキストフィールドのフィールドを設定します。 –

+0

あなたは魅力のように働いてくれてありがとう –

関連する問題