我正在尝试创建一个充当上/下增量器/减量器控件的图像映射。该图像是一个简单的 16x16 png 文件,其中包含两个三角形(一个向上,另一个向下),图像的上半部分为 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>