我想透過檢查 php $_POST 陣列來捕獲指示使用者點擊動畫圖像的位置的 X:Y 值。問題是,雖然我可以獲得靜態圖像上的輸入提交信息,但我似乎無法從動畫圖像中獲取任何值。
以下是示範此行為的完整 HTML 頁面和表單:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Gunfighter Testing Page</title> <style> div { width:24px; height:24px; position:relative; -webkit-animation:glide 1s ease-in-out alternate infinite; } @-webkit-keyframes glide { from { left:-400px; top:0px; } to { left:400px; top:0px; } } </style> </head> <body> <center> <form method="post"> <input type="image" name="Staredown" value="Staredown" alt="Staredown" src="https://i.imgur.com/sQwX4Qg.png"> <input type="image" name="Gesture" value="Gesture" alt="Gesture" src="https://i.imgur.com/0iJnH5Q.png"><br> <div><input type="image" name="Shoot" value="Shoot" alt="Shoot" src="https://i.imgur.com/i9oV2j3.png"></div> ; </form> </center> </body>
這裡有一些 php 檢查表單(按鈕)提交並顯示點擊的圖片內的座標:
<?php //var_dump($_POST); echo "Form (button click) results (a pefect score is x=32 and y=32: <br>\n"; echo "<p>\n"; if ((isset($_POST["Staredown_x"])) || (isset($_POST["Gesture_x"])) || (isset($_POST["Shoot_x_x"]))){ switch (true){ case (isset($_POST["Staredown_x"])): echo "Staredown click coords=> X:" . $_POST["Staredown_x"] . "; Y:" . $_POST["Staredown_y"] . ".<br>\n"; break; case (isset($_POST["Gesture_x"])): echo "Gesture click coords=> X:" . $_POST["Gesture_x"] . "; Y:" . $_POST["Gesture_y"] . ".<br>\n"; break; case (isset($_POST["Shoot_x"])): echo "Shoot click coords=> X:" . $_POST["Shoot_x"] . "; Y:" . $_POST["Shoot_y"] . ".<br>\n"; break; } } else { echo "Score will be displayed upon clicking on a button.<br>\n"; } ?>
為什麼我可以取得點擊圖像中的點擊座標(如果它們是靜態的),但無法讓動畫圖像以相同的方式表現?動畫圖像不會用點擊的坐標填充 $_POST["Shoot_x"] (或以我似乎可以在 php 中收集的任何其他方式註冊)。
P粉6748763852024-02-27 14:47:35
如果(與我不同)您注意輸入並檢查$_POST["imagename_x"] 而不是檢查$_POST["imagename_x_x"],則此範例將作為書面形式工作>"] 就像我所做的那樣。