javascript - 范围:在 JavaScript 中将局部变量传递给全局变量

标签 javascript html input scope field

我在将函数内的局部变量传递给另一个全局变量以便在模型中的其他地方使用它时遇到了麻烦。

这个想法是在 HTML 中创建一个输入字段并在其中输入字符串。我在帮助下设法获取输入字符串,但无法在初始函数之外获取它们。

HTML

<form>
    <input type="text" name="city" placeholder="enter city here">
    <input type="submit" value="Submit">
</form>

JavaScript:

var place;

$('form').on('submit', function(e) {
    e.preventDefault();
    var city = $('input[name=city]').val();
    place = city;
});

console.log(place);

如果我将“console.log”放在 place = city 的正下方,那么我就会以正确的方式获得所有输入。然而,现在的代码方式只能在控制台中显示undefined

最佳答案

因为submit尚未触发。所以当然什么都没有改变。如果您需要函数中的值,您可以将其编写为async,并等待在触发事件时解析的 promise 。

关于javascript - 范围:在 JavaScript 中将局部变量传递给全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49449399/

相关文章:

javascript - d3.timeDay 函数从 2023 年开始并向后运行至无穷大

javascript getOwnPropertyNames 方法

javascript - 为什么在 HTML Javascript 中使用 &lt;!-- 和//-->?

css - IE 中的 div 表格格式问题

wpf - 当用户控件更改可见性时关注文本框

java - 如果用户要输入它,让 JOptionPane/parse 忽略货币符号

php - 如何突出显示 HTML 内容并将其保存到数据库以供将来加载

javascript - 与现有页面内容交互的 Firefox 扩展

html - Chrome 42 中的样式输入占位符(默认和焦点状态)

javascript - 为什么对象名前需要 "function"关键字?所有对象都是真实的功能?