javascript - 使用 jQuery 构建元素时出现错误

标签 javascript jquery html css twitter-bootstrap

我正在尝试使用 jQuery 创建一个元素,该元素包含用户单击“提交”按钮后输入字段中的文本。

这是我的 jsfiddle:http://jsfiddle.net/2y26rzot/

这是我的javascript:

    $(document).ready(function () {
        $('button[type=submit]').click(function () {
            var typedText = $('input[type=text]').val();
            var resultText = $('<p></p>').text(typedText+'2');
            $('section.result').append(resultText);
            console.log(typedText);
            alert(typedText);
            console.log(resultText);
            alert(resultText);
        });
    });

我包含了 bootstrap js 和 css,当然还有 jQuery。 问题发生在第一个和第二个警报之间的某处,但我不知道在哪里以及为什么。我对 jQuery 有基本的了解,因为我是边做边学的,所以我在这里可能会出错。

我本地机器上的错误是:

text

index.html:45 [p, jquery: "1.11.0", constructor: function, selector: "", toArray: function, get: function…]

Navigated to file:///C:/Users//Desktop/textonbackground/index.html?

当然,如果我删除带有 resultText 控制台日志和警报的最后两行,我不会收到错误,但文本仍然消失,我不明白为什么。有人可以向我解释一下吗,当然可以建议一些其他方法来实现我的目标,即从输入字段中获取信息并将其作为段落发布在页面上。

我应该提一下,我尝试了不同的方法来构建变量和附加文本(使用 .add 和 .after),但没有任何改变。我在这里遗漏了一些东西。

非常感谢您的帮助!

最佳答案

文本消失是因为页面在表单提交后刷新。问题不在.text()

如果添加 e.preventDefault()对于它,文本将保留在它应该保留的位置。

如果您不想更改事件,可以使用不带 <button type="button"> 的常规按钮 ( form)

在这里在线:http://jsfiddle.net/2y26rzot/3/

关于javascript - 使用 jQuery 构建元素时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28944158/

相关文章:

javascript - Vaadin(自包含)portlet (Liferay) 与 Javascript (d3js)

javascript - 无法在触摸事件中聚焦 DOM 元素

jquery - 如何根据跨域内容设置iframe高度?

html - 如何链接 Rails 上的页面?

javascript - 如何使用 JQuery 获取 DOM 元素的 id

javascript - "i = +i"在Javascript中是什么意思?

jQuery 委托(delegate)表行选择器

jquery - Bootstrap 4 |单击时翻转卡片()

css - Div 在添加元素时移动一个 div

html - 如何只为无序列表中的元素符号着色