0

私の問題の簡単な要約は次のとおりです。

一連のフォーム フィールドの値を取得し、それらを outputArea という別の変数に結合する JavaScript 関数があります。次に、同じ関数を使用して、「outputArea」というテキストエリアの値を、outputArea 用に作成した値に変更します。 JScript で (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>

alert('DISMISS'); を追加しました。ユーザーに警告に対して[OK]を押すように強制することで、フォームがそれ自体をクリアするのを(一時的に)停止できるかどうかを確認しようとしましたが、奇妙なことに、document.thisForm.outputArea.value = outputValueを呼び出す前にそのAlertを呼び出します。わかりません。それを呼び出して出力した後、すぐにすべてのフォームフィールドをクリアします。これは現在、ページ全体で唯一の JavaScript 関数であり、どこにもリセット ボタンはありません。

私はこれを以前にたくさんやったことがあり、実際に同様のメソッドを実行して現在正常に動作しているアプリケーションを持っているので、完全に困惑しています。ここで一体何が間違っているのですか?

私のために時間を割いてくれた人にとても感謝しています。乾杯!

4

1 に答える 1

2

ボタンが送信アクションを実行しているため、ページが更新されているように見えます。onClickイベントを次のように変更します。

onClick="getNotes(); return false;"

これは POST リクエストを (おそらくそれ自体に対して) 生成しているため、ページは初めてのように読み込まれます。

于 2012-06-13T16:12:00.633 に答える