こんにちは、JavaScript と AJAX は初めてです。
このページのアイデアは、ユーザーがマップ内の画像の適切な領域をクリックすると、'field_X' のエントリが '0' の場合に JavaScript 関数myFunction1が呼び出されるというものです。この関数は、'field_X' を '1' に更新します。 AJAX 経由 (「field_X」は「0」エントリで始まります)。
次に、ユーザーがマップ内の同じ領域をクリックすると、「field_X」のエントリが「1」になったためmyFunction2が呼び出され、「field_X」が「2」に更新されます。
等々...
AJAX 呼び出しは正常に機能し、適切な関数が個別に呼び出されると、「field_X」が正しく更新されます。
ただし、問題は(私が持っているコードでは)ユーザーがマップをクリックすると、3つの関数すべてがすぐに連続して呼び出されることです(「field_X」は「3」になります)。関数間でこれを一時停止し、ユーザーによる次のクリックを待つ方法がわかりません。
関数は他のことも行うので、関数内のコードをできる限り省略しました。どんな助けでも大歓迎です。
PHP ユーザーページ
<?php function request_data(){select field_X from TABLE_X; }
$q = request_data(); ?>
<map>
<area onclick= <?php
if ($q == '0') {?>"myFunction1();" <?php }
if ($q == '1') {?>"myFunction2();" <?php }
if ($q == '2') {?>"myFunction3();" <?php }
if ($q == '3') { ...and so on... }
?> />
</map>
JavaScript ページ
<script>
//JavaScript
function myFunction1() { update_1(); }
function myFunction2() { update_2(); }
function myFunction3() { update_3(); }
//AJAX - abbreviated
function update_1(){ update TABLE_X set field_X = (1); }
function update_2(){ update TABLE_X set field_X = (2); }
function update_3(){ update TABLE_X set field_X = (3); }
</script>