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/

相关文章:

html - @页面 :first not working

javascript - 从键盘输入时提交按钮会刷新整个页面

HTML/CSS 下拉输入 onclick 未触发

javascript - D3 轴未更新

javascript - 单击时 Bootstrap 面包屑进入中心 div

javascript - 如何更改reactjs中子组件某些部分的所有状态

html - 将浏览器切换到严格模式以编写正确的 html 代码

html - CSS 没有响应,图像也没有加载

php - 从链接表单输入

javascript - 绑定(bind)不同目标的点击和按键来执行相同的功能