javascript - 带有 JavaScript 函数的简单 HTML 表单

标签 javascript html

我有一个 HTML 表单,我想与一些 JavaScript 进行交互:

...
<form name="signup">
    <label id="email" for="email" placeholder="Enter your email...">Email: </label>
    <input type="email" name="email" id="email" />
    <br />
    <input type="submit" name="submit" id="submit" value="Signup" onclick="signup()"/>
</form>
...

我有一些 JavaScript,我想获取输入的电子邮件地址并将其存储在一个数组中(它当前与我的 HTML 内联,因此是脚本标记):

<script type="text/javascript" charset="utf-8">
        var emailArray = [];
        function signup(){
            var email = document.signup.email.value;
            emailArray.push(email);
            alert('You have now stored your email address');
            window.open('http://google.com');
                    console.log(emailArray[0]);
        }
</script>

我希望这个简单的脚本能够将电子邮件存储在 emailArray 中,但在整个执行过程中控制台保持为空。

这段代码有什么问题?

最佳答案

你有两个问题。

  1. 您的表单名为 signup,您的全局函数名为 signup。该函数被对 HTML 表单元素节点的引用覆盖。
  2. 您的提交按钮将提交表单,导致浏览器在 JS 完成后立即离开页面(丢弃所有存储的数据并可能删除控制台日志)

重命名该函数并将 return false; 添加到事件处理函数的末尾(onclick 属性中的代码。

关于javascript - 带有 JavaScript 函数的简单 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21254130/

相关文章:

javascript - 对象的隐式类型强制

javascript - IE 日期格式与 Chrome (toLocaleDateString)

javascript - 使用 Meteor.js + React.js 进行服务器端路由

javascript - meteor ,如何更改事件模板( View )?

javascript - Ajax 新手,尝试在 div 中加载另一个页面,但在 Safari 中遇到问题

javascript - 我可以改进这个 AngularJS/AJAX javascript 片段吗?

javascript - 我实际上如何使用 php 返回的查询填充多个选择框,并将其添加到 jquery 的多维数组中?

javascript - 有没有一种工具可以根据 HTML 和 CSS 的使用自动生成代码来预加载图像?

javascript - 链接(所有 div 之上的 href)

jquery - 单击 <p> 时如何切换 div 类