javascript - 运行脚本后 textarea 丢失信息

标签 javascript html forms textarea

首先,我对客户端网络编程完全陌生。这是我正在使用的代码的简化版本。

在脚本的第一部分,我影响了一个文本区域,其中包含文本“为什么要保留此文本”。当用户单击表单的提交按钮时,我尝试将文本区域更改为“Some Other Text\n”。但是剧本的结尾,第一个文本总是回来,我不知道为什么。实际上,看起来页面正在 GetRandomNumber() 函数的末尾重新加载。

<div>
    <form>
        Number of roll: <input type="number" id="numberOfRoll" value="1"><br>
        <input type="submit" value="Get random value" onclick="GetRandomNumber()">
    </form>
</div> 
<div>
    <textarea cols="80" rows=20 id="resultArea"></textarea>
</div>
<script>
    initResultArea();
    function initResultArea() {
        document.getElementById("resultArea").innerHTML="Why is this text staying";
    };
    function GetRandomNumber() {
        var output="SomeOtherText\n";
        document.getElementById("resultArea").innerHTML=output;
    };
</script>

最佳答案

将按钮类型更改为button,而不是submit

<div>
<form>
    Number of roll: <input type="number" id="numberOfRoll" value="1"><br>
    <input type="submit" value="Get random value" onclick="GetRandomNumber()">
</form>
</div> 
<div>
    <textarea cols="80" rows=20 id="resultArea"></textarea>
</div>
<script>
    initResultArea();
    function initResultArea() {
        document.getElementById("resultArea").innerHTML="Why is this text staying";
    };
    function GetRandomNumber() {
        var output="SomeOtherText\n";
        document.getElementById("resultArea").innerHTML=output;
    };
</script>

因为它被设置为 submit,所以每次您按下按钮时,浏览器都会尝试将您的表单提交到网页(尚未定义)。除了调用您的函数之外,它还会执行此操作,这就是页面重新加载的原因。

关于javascript - 运行脚本后 textarea 丢失信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55755809/

相关文章:

PHP 表单不会发布

javascript - 生态树.js : I want to get the latest version

javascript - 根据所选输入值更改输入字段的表单

html - 在 bootstrap 中对列重新排序以获得更大的显示

javascript - Jekyll 站点 html 表单提交到不同的页面但重定向到另一个页面

javascript - 使用 Ryan Fait "Check All"自定义表单元素时的 's "函数”

javascript - 如何使用 javascript 打开 url 并为请求设置自定义 HTTP header ?

javascript - 将函数链接到单击事件

javascript - 如何将window.onload附加到jquery中的特定页面

asp.net - 如何在 asp :textbox 中放置提示