提交的HTML表单中缺少值

Missing a value from submitted HTML form

本文关键字:表单 HTML 提交      更新时间:2024-01-10

我编写了以下代码,记录用户提交的答案是否正确。score_one为0或1,用于答对第一个问题,score_two为0或0,用于答错第二个问题,依此类推。totalScore基本上是一个分数与的分数之和

我想要的是totalScore值通过PHP返回到我的电子邮件地址。我当前的HTML表单有一个电子邮件字段和一个名称字段。我有一个PHP脚本,它成功地将这些字段答案发送到我的收件箱。但是,我无法显示totalScore值。下面的代码是我正在使用的,但我不是专家

<input type="text" id="score" value="" disabled />
<script>
    var score_one = 0;
    var score_two = 0;
    var score_three = 0;
    var score_four = 0;
    var totalScore = 0;
    function fsubmit(){
        var correctFirstAnswer = document.getElementById("price_three");
        var correctSecondAnswer = document.getElementById("price_six");
        var correctThirdAnswer = document.getElementById("price_seven");
        var correctFourthAnswer = document.getElementById("price_eleven");
        if (correctFirstAnswer.checked === true){
            score_one = 1;
        }
        if (correctSecondAnswer.checked === true){
            score_two = 1;
        }
        if (correctThirdAnswer.checked === true){
            score_three = 1;
        }
        if (correctFourthAnswer.checked === true){
            score_four = 1;
        }
        totalScore = score_one + score_two + score_three +score_four;
    }

    document.getElementById("score").value = totalScore;
</script>

我的PHP代码片段是:

$email = $_POST['email'];
$name = $_POST['name'];
$score = $_POST['score'];
$body = <<<EOD
Name: $name <br>
Email: $email <br>
Score: $score <br>

典型的回答是:姓名:Bloggs先生电子邮件:bloggs@bloggs.com得分:

我的分数没有任何价值:部分——没有零或任何东西。

有人能帮忙吗?我真的很感激——我不是一个专业的程序员,只是混日子而已。

禁用字段将不会提交(RFC术语:成功)。

在本例中,INPUT元素被禁用。因此,它无法接收用户输入,其值也不会随表单一起提交。<INPUT disabled name="fred" value="stone">

请简单地修改它,为输入添加name属性:

<input type="text" id="score" value="" disabled />

===>

<input type="text" id="score" name="score" value="" disabled />

只有命名的输入可以发布,id仅属性的输入不会传递到处理PHP脚本。