JavaScript中如何在表单提交时修改全局变量的取值?
全局变量随表单提交更新实现方案
原代码存在一处语法错误:getElementById 是 document 对象的内置方法,直接调用会触发未定义报错,导致全局变量赋值失败。
修正后的完整代码如下:
HTML 部分
<form onsubmit="return timed('commands')"> <input type="number" name="a" id="commands"><br> </form>
JavaScript 部分
// 初始化全局变量,默认值为2 var number = 2; function timed(id) { // 补全document前缀,获取输入框值赋值给全局变量 number = document.getElementById(id).value; // 若需要number为数字类型而非字符串,可替换为下行代码 // number = Number(document.getElementById(id).value); // 阻止表单默认提交跳转行为 return false; }
补充说明
- 提交表单后全局变量
number就会更新为输入框内的取值,其他函数直接调用该变量即可拿到最新值 - 输入框默认返回的值为字符串类型,如有数值运算需求建议添加
Number()转换,避免出现拼接字符串而非运算的问题
内容的提问来源于stack exchange,提问作者new_new123
相关产品推荐
相关产品推荐

