0

我在 HTML 中有以下代码:

<button onclick="showDescription();">Find book</button>

在附加的 JavaScript 文件中:

function showDescription(){
    document.getElementById("description").value="book";
}

但是,每当我单击该按钮时,它只会显示字符串“book”1 秒钟,然后消失。知道出了什么问题吗?

4

3 回答 3

1

您的按钮(大概)在<form>.

按钮的默认类型是submit

  1. JavaScript 运行
  2. 值已更新
  3. 表格已提交
  4. 页面已重新加载
  5. 再次显示初始值

不要使用提交按钮:

<button type="button" onclick="showDescription();">Find book</button>

或者,从您的事件处理程序返回 false:

onclick="showDescription(); return false;"
于 2013-07-14T07:34:23.773 回答
0

我猜该按钮在表单内,将其更改为:

<button onclick="showDescription();">Find book</button>

至:

<input type="button" onclick="showDescription();" value="Find book" />

按钮具有默认的提交类型,因此如果它在表单元素内,它将提交表单并重新加载页面。

于 2013-07-14T07:33:54.077 回答
-1

试试这个代码:

<!DOCTYPE html>
<html>
    <head>
        <script>
            function showDescription()
            {
                document.getElementById("description").innerHTML="book";
            }
        </script>
    </head>
    <body>

        <button onclick="showDescription();">Find book</button>

        <textarea id="description" rows="4" cols="50">
        </textarea>

    </body>

于 2013-07-14T07:38:16.990 回答