javascript - 输出未定义

标签 javascript php html undefined

我正在尝试找到一种方法来注册不同的类(class),您应该在其中输入您的姓名、电子邮件和类(class)的下拉框。该信息应该进入一个 .dat 文件,所有参与者都在其中注册,但不知何故让它们成为未定义的。

<script>
window.onload = startup;

var xmlhttp;

function startup() {
    document.getElementById("save").onclick = save;

    }

function save() {
    var url = "proxy.php?class=" + class + "&name=" + name + "&mail=" + mail;
    var class = document.getElementById("class").value;
    var name = document.getElementById("name").value;
    var mail = document.getElementById("mail").value

    xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = status;
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

function status(){
    var kurs = document.getElementById("class").value;
    if (xmlhttp.readyState ===4 && xmlhttp.status === 200) {
        document.getElementById("output").innerHTML = "Signed up for" + kurs;
    }
}
</script>   
<body>
        <input id = "name" type="text" placeholder="Name"></input>
        <input id = "mail" type="text" placeholder="Email"></input>
        <form action="proxy.php" method="get">
            <select id="class">
                <option value="812" id="it">SuperIT</option>
                <option value="614" id="mh">MH</option>
            </select>
        </form>
        <button id="save" onclick="save()">Sign up</button>
        <a href="paameldinger.dat">paamelding.dat</a>         // to view the .dat file
        <p id="output"></p>

通过如下所示的代理运行它;

<?php

$name = $_GET["name"];
$mail = $_GET["mail"];
$class = $_GET["select"];

$read = fopen("paameldinger.dat", "a");

$line = $class . "¤" . $name . "¤" . $mail . "\n";

fwrite($read,$line);

fclose($read);

?> 

输出最终如下所示:

¤undefined¤undefined
¤undefined¤undefined

编辑;有点将代码转换为英语,因为我愚蠢到用挪威语编写代码,所以代码中可能会混合一些挪威语单词,对此感到抱歉!

最佳答案

您在定义变量之前就使用了变量,当然它们都是未定义的。更改您的代码如下:

var class = document.getElementById("class").value;
var name = document.getElementById("name").value;
var mail = document.getElementById("mail").value;

var url = "proxy.php?class=" + class + "&name=" + name + "&mail=" + mail;

关于javascript - 输出未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33640363/

相关文章:

php - PDO不能向Access数据库插入新记录,但可以在同一个连接中读取和删除

html - 点击标签打不开选择

javascript - 为 Canvas 元素添加边框

javascript - 如果下拉列表与 json 的键绑定(bind),如何从下拉列表中获取选定的值

javascript - 如何在 angularJS 或 JQuery 或 JavaScript 中保持控件

javascript - 从 php 文件请求日期/时间时没有输出

javascript - 订购 key :value pairs of objects

javascript - 如何从 iframe 中获取选定的文本(在 IE 上工作)

PHPUnit 找不到我的测试文件或直接执行它们

php - 从 WooCommerce 中的产品属性中删除 <p> 标签