以下是我的问题的简要概述:
我有一个 JavaScript 函数,它获取一堆表单字段的值,然后将它们组合到另一个名为 outputArea 的变量中,然后我使用相同的函数将名为“outputArea”的文本区域的值更改为我为 outputArea 创建的值在 JScript (document.thisForm.outputArea.value = outputArea) 中。
但是当我按下调用该函数的“制作我的笔记”按钮时,它会抓取变量,触发我的警报以转储变量以确保其工作,然后输出到我想要它的表单字段......但是,立即函数完成后,它会自行清除。就其本身而言,我的意思是整个表单都被清除了,包括 outputArea。
我已经多次检查了我的源代码,并且有 0 个对重置按钮的引用或在调用函数后应该清除这些值的任何内容,所以我很茫然。
以下是我的功能:
<script type="text/javascript">
function getNotes() {
var spokeTo = document.thisForm.spokeWith.value;
var problemWith = document.thisForm.problemWith.value;
var resolvedBy = document.thisForm.resolvedWith.value;
var thisTech = document.thisForm.techName.value;
var liveChat = document.thisForm.onLiveChat.value;
var passTo = document.thisForm.passTo.value;
var fSpace = ". ";
var fSign = " - ";
alert(spokeTo + problemWith + resolvedBy + thisTech);
outputValue = 'Spoke with: ' +spokeTo + fSpace + problemWith + resolvedBy + passTo + fSign + thisTech;
document.thisForm.outputArea.value = outputValue;
alert('DISMISS');
}
调用该函数的按钮很简单:
<input type="submit" class="button" value="Make My Notes!" onClick="javascript:getNotes();" tabindex="4" style="margin-right:1em;" />
和输出字段:
<textarea name="outputArea" id="outputArea" onClick="this.select();" readonly="yes"></textarea>
我添加了警报('DISMISS');试图看看我是否可以(暂时)通过强制用户按 OK 来阻止表单清除自己,但奇怪的是,它在调用 document.thisForm.outputArea.value = outputValue 之前调用了 Alert,我不明白。在它调用它并输出之后,它会立即清除每个表单字段。这是目前整个页面唯一的javascript功能,并且看不到任何重置按钮。
我以前做过很多事情,实际上有一个使用类似方法的应用程序现在正在运行并且工作正常,所以我完全感到困惑。我到底做错了什么?
我非常感谢任何花时间为我研究这个问题的人。干杯!