缺少提交的HTML表单中的值

时间:2013-11-30 21:18:56

标签: javascript php html forms

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

的总和

我想要的是通过PHP返回到我的电子邮件地址的totalScore值。我当前的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>

典型的回复是: 姓名:Mr Bloggs 电子邮件:bloggs@bloggs.com 分数:

我在得分中完全没有价值:部分 - 没有零或任何东西。

有人可以帮忙吗?我真的很感激 - 我不是一个专业的程序员,只是糊里糊涂。

2 个答案:

答案 0 :(得分:1)

我们不会提交已停用的字段(RFC term: successful)

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

答案 1 :(得分:0)

请通过为输入添加名称属性来修改此内容:

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

==&GT;

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

只能发布命名的输入, id 属性只会将输入传递给处理PHP脚本。