-1

関連トピック: JQuery / JavaScript - 別のボタン クリック イベントからボタン クリックをトリガーする

<input type="submit" name="savebutton" id="first" />
<input type="submit" name="savebutton" id="second" />

これを最初のボタンに追加しました:$("#second").click()

機能: 1 つ目のボタンを手動でクリックすると、2 つ目のボタンが自動的にトリガーされます。

注: 最初のボタンは、 2 番目のボタンよりも多くのデータベース処理を行います。2 番目のボタン処理ロジックは、最初のボタンが処理したものを更新するだけです。

問題:

最初のボタンでいくつかのセッションが初期化され、データベースが更新されているため、 2番目 のボタンが最初のボタンの処理を上回っているようですが、 2番目のボタンの処理では何も処理されません。セッションが設定されておらず、db テーブルの更新が行われていないことを意味します。

しかし、最初のボタンをもう一度クリックすると (2 回目)、 2 番目のボタン処理で最初に処理されたデータ/値が取得されます (最初のクリックですべて)。初めてインクリメントするデータベースに自動インクリメント値があるため、ボタンの最初のクリックからデータが取得されていることがわかります。

4

1 に答える 1

1

最初のボタンの機能が完全に完了する前に、jquery によって 2 番目のボタンがクリックされる非同期リクエストが発生している可能性が高いです。

この場合、最も簡単な解決策は、非同期関数 (おそらく AJAX 呼び出し) でコールバックを使用し、そのコールバックを使用して 2 番目のボタンをクリックすることです。

非同期リクエストはこの種の奇妙な動作で悪名高いため、これはコード/フィドルなしの私の直感です。

于 2013-03-23T08:26:49.273 に答える