javascript createElement / appendchild - 单击后新文本消失

时间:2013-01-29 01:19:06

标签: javascript html

我有一个javascript方法,可以在点击时创建一堆元素。当我从一个按钮调用它时,它只会在该单击持续时间内停留在屏幕上。当我在控制台中输入完全相同的代码时,它会一直停留在页面上,直到我重新加载或导航(这正是我想要的)。

JavaScript代码:(这是js文件中唯一的方法)

function post() {
var postTitle = document.createElement('h3');
var nodeTitle = document.createTextNode('Immigration is good.');
postTitle.appendChild(nodeTitle);
etc....

我在html中调用它:

<input type="submit" id="post-button" value="Post" onclick="post()">

脚本标记位于html页面的标题中。

如何让点击持续时间后停留在页面上?任何想法为什么会立即消失?

2 个答案:

答案 0 :(得分:2)

您仍需要取消表单的提交。帖子中的return false;(如果存在)将无效,因为onclick属性正在调用post()但未返回任何内容。

您可以将其更改为onclick="return post();",但最好是直接附加处理程序,并将其附加到表单的submit事件而不是按钮的click事件(人们有时会使用 Enter !):

document.getElementById('some-form').onclick = post;

答案 1 :(得分:0)

看看按钮的作用。它发布了!

当您点击该按钮时,它会将您重定向回您当前所在的页面!它似乎正在显现并消失实际发生的事情,但页面令人耳目一新。

有几种选择可以做你想要的。通过Ajax提交或让服务器使用hashbang / cookie进行响应,以指导页面按照您的意愿进行操作。