嗨,我是 JavaScript 和 AJAX 的新手。
此页面的想法是,当用户单击地图中图像中的适当区域时,当“field_X”中的条目为“0”时,它会调用 JavaScript 函数myFunction1 - 然后此函数将“field_X”更新为“1”通过 AJAX(“field_X”以“0”条目开头)。
然后,当用户下一次单击地图中的同一区域时,调用myFunction2,因为“field_X”中的条目现在为“1” - 然后将“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>