上/下のインクリメント/デクリメンターコントロールとして機能する画像マップを作成しようとしています。この画像は単純な16x16pngファイルで、2つの三角形(1つは上向き、もう1つは下向き)があり、画像の上半分はUP(インクリメント)、下半分はDOWN(デクリメント)です。
以下のコードは、フォーム値を参照するイメージマップ領域のhrefで発生している問題を示しています。実際のインクリメント/デクリメントにフォーム値を使用するコードが失敗しているのに、アラート関数の呼び出しが機能する理由に戸惑います。私が実装しようとしている実際のコードはより複雑になりますが、深く進む前に、この障害を乗り越えるか、アプローチを変更する必要があります。
ですから、このアプローチが実際に可能かどうか、そしておそらく私のシナリオから何か小さなものが欠けているのか、それとも別の方法でよりよく達成される何かを行うための誤った試みであるのかどうか疑問に思っています。また、クライアント側のプログラミングに関しては、私の相対的な初心者のステータスを告白し(それが明白ではなかったかのように)、穏やかで建設的な指導をしてくれたすべての人に事前に感謝します。
<html>
<head>
<title>ImageMap Test</title>
</head>
<body>
<form>
<fieldset>
<legend>ImageMap area href for javascript works for alerts:</legend>
<input type='text' name='foo1_filter' size='25' value='123' />
<img src='../img/arrow_up-down.png' title='Up-Down' usemap='#foo1' />
<map name='foo1'>
<area shape='rect' coords='0,0,15,7' href='javascript:alert("UP");' />
<area shape='rect' coords='8,0,15,15' href='javascript:alert("DOWN");' />
</map>
</fieldset>
</form>
<p />
<form>
<fieldset>
<legend>ImageMap area href for javascript does not work when referencing form values:</legend>
<input type='text' name='foo2_filter' size='25' value='123' />
<img src='../img/arrow_up-down.png' title='Up-Down' usemap='#foo2' />
<map name='foo2'>
<area shape='rect' coords='0,0,15,7' href='javascript:this.form.foo2_filter.value++;' />
<area shape='rect' coords='8,0,15,15' href='javascript:this.form.foo2_filter.value--;' />
</map>
</fieldset>
</form>
</body>
</html>