Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 连接表数据和表单文本字段_Javascript_Html - Fatal编程技术网

Javascript 连接表数据和表单文本字段

Javascript 连接表数据和表单文本字段,javascript,html,Javascript,Html,我有一个html/css页面,它应该使用一个html表格布局来模拟t9键盘布局 在页面上,我有一个包含两个文本字段的表单。我想使用表格/键盘值通过javascript用数字填充文本字段 我能够将一个变量与一个字符串相关联,该字符串描述了我希望用数据填充的字段,但当我调用该字段的当前值时,我得到一个错误(console.log),该错误表示“无法读取“未定义”的属性“x” 这是我的功能 function place(id) { var key = ""; //Ensure that

我有一个html/css页面,它应该使用一个html表格布局来模拟t9键盘布局

在页面上,我有一个包含两个文本字段的表单。我想使用表格/键盘值通过javascript用数字填充文本字段

我能够将一个变量与一个字符串相关联,该字符串描述了我希望用数据填充的字段,但当我调用该字段的当前值时,我得到一个错误(console.log),该错误表示“无法读取“未定义”的属性“x”

这是我的功能

function place(id) {
        var key = ""; //Ensure that this is a string, not number
        key = document.getElementById(id).id; //Get the key value.
        console.log(key);
        var total = ""; //initialize variable.
        console.log(appSettings.padName);
        total = nums.element[appSettings.padName].value; //Grab total.
        //if (total.contains("Click")) total = "";
        console.log(total);
        if (key == "-1") total.slice(0, -1); //backspace.
        else if (key == "-2") numPad(appSettings.padName); //Enter.
        else total += key; //concat to end of the String.
        document.getElementById(appSettings.padName).value += total; //place update.
    }
我使用以下html调用此函数

<div id="nums">
<form name="nums">
    <h3>
    Cell number: <input type="text" id="cell" value="" class="inputText"      size="10" onclick="numPad('cell')" name="cell" /><br/><br/>
    <div id='group'>
    Party size: <input type="text" value="" class="inputText" size="10" onclick="numPad('group')" name="group" /><br/><br/>
    </div>
    <input type="submit" value="Submit" class="button" />
</h3>

单元格编号:

聚会规模:

*请注意,每个字段都有不同的ID系统


收集变量的函数正在以字符串格式(也称为“cell”)正确收集div ID。如果您需要更多信息来帮助,我很乐意提供:P

我会完全从另一种方法着手。最好的解决方案是在

上侦听
单击
事件,从那里您可以获取已单击的键,并相应地更新其中一个输入。这种做法称为事件删除离子,而且效率很高

您当前的javascript有一些错误。首先,您不需要初始化变量并为它们分配“类型”,然后再为其指定预期值。同样,您不需要通过元素的ID来查找元素,只需再次获取ID即可,这是一种浪费。我注意到你在函数中也引用了一些全局变量,这通常是不好的做法


另一个注意事项,Chris Lively提供给您的信息,re:semi-colons是明显错误的。您的原始if语句没有问题。你可以从这篇文章中了解到更多信息:

我会完全从另一种方法着手。最好的解决方案是监听
上的
单击
事件,从那里您可以获取已单击的键,并相应地更新其中一个输入。这种做法称为事件委派,非常有效

您当前的javascript存在一些错误。首先,在为变量指定预期值之前,不需要初始化变量并为其指定“类型”。同样,您不需要通过元素的ID来查找元素,只需再次获取ID即可,这是一种浪费。我注意到你在函数中也引用了一些全局变量,这通常是不好的做法


另一个注意事项,Chris Lively提供给您的信息,re:semi-colons是明显错误的。您的原始if语句没有问题。您可以从本文了解更多信息:

如何调用此函数?此外,appSettings和NUM在哪里定义?实际上,现在我想起来了,这是一个.net应用程序吗?它只是一个html页面。我在另一个函数中将appSettings定义为全局设置。“NUM”指的是形式;它是ID(第二个代码段)。您如何调用此函数?另外,appSettings和NUM在哪里定义?实际上,现在我想起来了,这是一个.net应用程序吗?它只是一个html页面。我在另一个函数中将appSettings定义为全局设置。“NUM”指的是形式;这是ID(第二个代码段),听起来好多了。到时候我会解决的。我这里有一个全局变量,但我不确定如何去掉它,因为它告诉我信息将要更新哪个字段。@Andy看起来
nums
也是全局变量。另外,FWIW、jQuery和Dojo等库都内置了事件委托这样的功能,使用起来非常方便。谢谢,查了一下,它看起来确实像我不知道需要的东西。非常感谢。nums是表单ID,不是变量。@Andy这是一个简单的版本,说明了如何高效地实现目标:@gf3:做一点研究,我会学到一些东西;谢谢我仍然会改为使用花括号而不是那些分号,但这显然是一个意见问题听起来好多了。到时候我会解决的。我这里有一个全局变量,但我不确定如何去掉它,因为它告诉我信息将要更新哪个字段。@Andy看起来
nums
也是全局变量。另外,FWIW、jQuery和Dojo等库都内置了事件委托这样的功能,使用起来非常方便。谢谢,查了一下,它看起来确实像我不知道需要的东西。非常感谢。nums是表单ID,不是变量。@Andy这是一个简单的版本,说明了如何高效地实现目标:@gf3:做一点研究,我会学到一些东西;谢谢我仍然会改为使用花括号而不是那些分号,但这显然是一个意见问题