0

我有一个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 页面的页眉中。

如何让它在点击持续时间之后留在页面上?任何想法为什么它会立即被抹杀?

4

2 回答 2

2

您仍然需要取消表单的提交。A return false;from post(如果存在)将不起作用,因为该onclick属性正在调用post()但不返回任何内容。

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

document.getElementById('some-form').onclick = post;
于 2013-01-29T01:22:53.997 回答
0

看看按钮的作用。正在发帖!

当您单击按钮时,它会将您重定向回您当前所在的页面!看起来它正在出现并消失,但实际上正在发生的事情是页面正在刷新。

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

于 2013-01-29T01:22:37.243 回答