如何制作一个javascript数字小键盘弹出窗口

时间:2013-11-12 21:45:04

标签: javascript html popup numeric-keypad

我有一个3页的网站。每个页面都有一个包含两个输入字段的表单。我正在尝试制作一个弹出数字键盘,它将填充所谓的输入字段。下面是我不断回头的基本代码。

<html>
<head><title>test</title></head>
<body>

<script> function num(id) { return document.getElementById(id); } </script>

<form action="/unitPage" method="POST" style=" text-align:center;">
Prefix: <input id="num" name"prefix" type="text" onfocus="num('keypad').style.display='inline-block';"/>

Number: <input id="num" name"number" type="text" pattern="[0-9]{6}" onfocus="num('keypad').style.display='inline-block';"/>
</form>

<div id="keypad" style="display:none; background:#AAA; vertical-align:top;">
<input type="button" value="7" onclick="num('num').value+=7;"/>
<input type="button" value="8" onclick="num('num').value+=8;"/>
<input type="button" value="9" onclick="num('num').value+=9;"/><br/>
<input type="button" value="4" onclick="num('num').value+=4;"/>
<input type="button" value="5" onclick="num('num').value+=5;"/>
<input type="button" value="6" onclick="num('num').value+=6;"/><br/>
<input type="button" value="1" onclick="num('num').value+=1;"/>
<input type="button" value="2" onclick="num('num').value+=2;"/>
<input type="button" value="3" onclick="num('num').value+=3;"/><br/>
<input type="button" value="X" onclick="num('keypad').style.display='none'"/>
<input type="button" value="0" onclick="num('num').value+=0;"/>
<input type="button" value="&larr;" onclick="num('num').value=num('num').value.substr(0,num('num').value.length-1);"/>
</div>

</body>
</html>

有没有办法制作一个我从任何页面调用的数字键盘,还是我需要为每个输入进行上述操作?

感谢

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是将javacript调用添加到标题中(通过当前调用document.getElementById(id)调用的位置)来操作该HTML的DOM,并简单地将div插入其中。 我建议在每个页面上使用一个shell div作为该元素,然后javascript只需要通过id(“小键盘”)获取该div并插入内部HTML。

编辑:只要你在3个页面之间共享javascript文件,你只需要实现一次javascript。