javascript - 表单提交转至 Javascript - 并保持在同一页面上

标签 javascript html

请考虑以下非工作 HTML 文档:

<html> 
    <body>
        <form action="" method="GET" onsubmit="return f(this);">
            <input type="text" name="bar" value="" />
            <input type="button" name="foo" value="foo" />
        </form>
    </body>
    <script type="text/javascript">
        function f(x) {
            alert(x.bar);
        }
    </script>
</html>

我想要实现的是,当(a)按下 foo 按钮时;或 (b) 当文本输入具有焦点时按下 Enter 键;然后使用 s 文本输入的内容调用函数 f - 否则浏览器应该在 f 返回后停留在同一页面上。

我怎样才能实现这个目标?

最佳答案

您应该使用提交输入而不是按钮输入,并且要从文本输入中获取文本,您可以使用 value 属性并返回 false 以阻止表单提交

<html>
    <body>
        <form action="" method="GET" onsubmit="return f(this);">
            <input type="text" name="bar" value="" />
            <input type="submit" name="foo" value="foo"/>
        </form>
        <script type="text/javascript">
                function f(x)
                {
                    alert(x.bar.value);
                    return false;
                }
        </script>
        </body>
</html>

FIDDLE

关于javascript - 表单提交转至 Javascript - 并保持在同一页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386263/

相关文章:

html - 是否可以在表单域中放置标签?

css - 缩放 Canvas 会影响 getDataURL() 返回的像素数吗?

javascript - 如何更改父 div 元素中所有子元素的字体大小

html - CSS 布局问题 - 垂直对齐 : Bottom; and Scaling issues

javascript - 如何防止 jQuery onclick 事件中的 Ruby 方法在页面刷新时执行

javascript - import 在 Javascript 中到底是如何工作的

javascript - 向数组原型(prototype)添加一个函数

javascript - 无法设置未定义 JS 的属性 'name'

java - 使用 servlet 在登录页面本身显示密码错误消息

html - 导航栏切换菜单不适用于手机