Javascript 表单更新 Onclick

标签 javascript html forms function onclick

我正在制作一个 html 表单,允许用户提交数字。我不想让用户输入数字,而是希望他们能够单击按钮来增加或减少文本输入中的数字。以下重要的代码片段正是按照我想要的方式实现的:

Javascript:

<script type="text/javascript">
    function increase (form) {
        var val = form.h1.value;
        val++;
        form.h1.value = val;
        }

    function decrease (form) {
        var val = form.h1.value;
        val--;
        form.h1.value = val;
        }
</script>

HTML

<input type="textbox" name="h1" size="3">
<input type="button" onclick="increase(this.form)" value="+">
<input type="button" onclick="decrease(this.form)" value="-">

我的问题是我希望能够对任何其他文本框(例如 h2、h3 等)使用“增加”和“减少”功能。我尝试通过添加第二个参数 id 来更改代码,并使用它来确定要更新哪个表单元素。但它不会起作用。任何帮助找出我出错的地方将不胜感激!

Javascript

<script type="text/javascript">
    function increase (form, id) {
        var val = form.id.value;
        val++;
        form.id.value = val;
        }

    function decrease (form, id) {
        var val = form.id.value;
        val--;
        form.id.value = val;
        }
</script>

HTML

<input type="textbox" name="h1" size="3">
<input type="button" onclick="increase(this.form, h1)" value="+">
<input type="button" onclick="decrease(this.form, h1)" value="-">

最佳答案

尝试

function increase (form, id) {
    var val = form[id].value;
    val++;
    form[id].value = val;
}

<input type="button" onclick="increase(this.form, 'h1')" value="+">
<input type="button" onclick="decrease(this.form, 'h1')" value="-">

表单就像一本字典,您可以在其中按名称寻址其字段。您可以使用方括号来完成此操作。该字段的名称是一个字符串,因此您必须传递 'h1' 而不仅仅是 h1

关于Javascript 表单更新 Onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7694540/

相关文章:

javascript - 彩票 Javascript 无法清除数组

javascript - 在java脚本中获取下拉列表中所选项目的文本

javascript - 如何向后台提交表单数据?

用于显示/隐藏 DIV 的 Javascript 循环

javascript - 查询/JavaScript : Negative of a Variable

html - 用 3 个 div 填充屏幕

html - 突出显示当前页面的导航菜单

c# - 如何正确地为<audio>提供数据?

php - 使用 if 语句创建条件来证明数据已存在于数据库中

java - 将表单参数从 JSP 发送到 Struts 操作类