0

好的,所以我很困惑和迷失,不知道我在做什么,基本上这是我的代码:

HTML/JavaScript

<img src="Images/Question1.png" usemap="#mainMap" id="main"/>
 <map name="mainMap" id="mainMap">
  <area shape="rect" coords="82,192,196,242" onclick="incorrectAnswer()" />
 </map
        function incorrectAnswer() {
        document.getElementById("incorrectVid").style.display="block";
        document.getElementById("incorrectVid").play();
        document.getElementById("answer_id").value=id;
        document.forms["answer_send"].submit();
    }

<form id="answer_send" name="answer_send" action="answersend.php" method="POST">
    <input type="hidden" id="answer_id" name="answer_id" value="10"/>
    <input type="submit" value="Submit" />
</form>

PHP

$id=$_POST['answer_id'];
echo $id

我不知道为什么这不起作用任何想法/帮助?

4

2 回答 2

2

要获取通过 G​​ET/POST 提交的值,您需要将name属性分配给输入字段。试试下面的:

HTML 和 JS

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script>
            function incorrectAnswer() {
                document.forms["answer_send"].submit();
            }
        </script>
    </head>
    <body>
        <img src="none.jpg" alt="placeholder" width="200" height="200" onClick="incorrectAnswer();">
        <form id="answer_send" name="answer_send" action="form.php" method="POST">
            <input type="hidden" id="answer_id" name="answer_id" value="10"/>
        </form>
    </body>
</html>

PHP的

<?php
    $id=$_POST['answer_id'];
    echo $id;
?>

注意:除非您将其分配给某些东西,否则您的 AREA 元素将不起作用。您的 JavaScript 函数必须在标签内,否则您会收到错误消息。其中的 HTML/PHP 部分工作正常...由于以下三行,您遇到了这些问题...

document.getElementById("incorrectVid").style.display="block";
document.getElementById("incorrectVid").play();
document.getElementById("answer_id").value=id;
于 2012-12-10T11:06:32.433 回答
0

你的名字属性在哪里?

每个输入都必须有一个 name 属性才能在 php 上检索它,并且您的 html 代码必须如下所示:

<form id="answer_send" name="answer_send" action="answersend.php" method="POST">
<input type="hidden" id="answer_id" name="answer_id" value="10"/> </form>
于 2012-12-10T11:09:45.087 回答