0

私は次のフォームを受け取りました:

<form name="x" method="post" action="/message.jsp" onsubmit="validate(this)">

<input type="button" name="Export" value="Export" onclick="this.form.action='ReportExecute.jsp';this.form.submit();">

</form>

私がやりたいのは、エクスポートボタンがクリックされたときに何か(スピナーの表示やボタンの無効化など)をしようとしています(このボタンは、フォームで指定された特定のデータをロードした後、最終的にダウンロードされるcsvファイルを作成しますフィールド)フォームアクション(データのエクスポート)またはフォーム投稿が終了するまで。

私がしたことは次のようなものでした:

$(document).ready(function(){
    $('form[name="x"]').submit(function() {
        alert("test");
    });
});

フォームはこのボタンをクリックしていくつかのアクションを実行するため、エクスポートボタンをクリックするとアラートが表示されると期待していましたが、機能しませんでした。フォームが何も投稿していないかのように!

いくつかの助けに感謝します。ありがとう

4

1 に答える 1

2

間違った HTML 要素で送信をトリガーしようとしています。

サブミット エクスポート ボタンのハンドラーは、存在しないボタンの下を検索しようとしてthis.formいます。onclickformExport

2 行目を次のように変更します。

<input type="button" name="Export" value="Export" onclick="submitForm();">

そして、ページに次の JavaScript 関数を追加します。

function submitForm() {
    // write whatever you want to do before the form begins to post here
    $('form[name="x"]').attr('action', 'ReportExecute.jsp').submit();
}

提供するイベント ハンドラー (現在alert.

于 2013-01-30T01:03:55.507 に答える