這裏是我的問題的簡要說明:將表單字段輸出到textarea的JavaScript以輸出textarea結尾,但立即清除它自己?
我有一個JavaScript函數獲取一堆表單字段的值,然後將它們組合到另一個名爲outputArea的變量中,然後使用相同的函數來更改值一個名爲「outputArea」的textarea與我爲JScript中的outputArea創建的值(document.thisForm.outputArea.value = outputArea)。
但是當我按下調用該函數的「Make My Notes」按鈕時,它抓住變量,命中我的警報以轉儲變量以確保其工作,然後輸出到表單字段,我希望它。但是,在函數完成後立即清除它自己。本身,我的意思是整個表格清除,包括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>
我加警報('DIS小姐');嘗試查看是否可以通過強制用戶按下OK鍵來暫時停止表單,但奇怪的是,它在調用document.thisForm.outputArea.value = outputValue之前調用Alert,我不明白。在它調用並輸出之後,它立即清除EVERY表單字段。這是目前在整個頁面上唯一的javascript功能,並且在任何地方都沒有重置按鈕。
我已經完成了這個噸之前,實際上有一個類似的方法運行和正常工作的應用程序,所以我完全困惑。我在這裏做錯了什麼?
我非常感謝任何花時間爲我着想的人。乾杯!
你知道什麼有趣嗎?只要我發佈這個,並重新閱讀我的文章(第三次,因爲我不喜歡張貼不好的問題),我注意到我正在做type =「submit」而不是type =「button」,這是什麼我正在使用我的其他網頁,工作正常。我現在覺得很蠢,但是你的快速反應非常棒,非常感謝,並且非常完美。澄清:對此的答案是使用return false; onClick,或者不使用提交類型,請使用type =「button」。 –
非常感謝您的即時回覆。我喜歡這個地方。對不起,這是一個簡單的修復:p –
@MorganMarch:沒問題。我一直忽略了大量的東西。有時候,僅僅在問題上另闢蹊徑就足夠了,或者將它解釋給某個我通常最終會看到我做錯了什麼的人。 –