“我的HTML”;获得;方法不显示所有表单输入

“我的HTML”;获得;方法不显示所有表单输入,html,forms,Html,Forms,我有一个html表单,我需要解析服务器端的信息(这是我编写的一个简单的HTTP Java服务器),以便使用这些选项运行程序。不幸的是,当我提交表单时,它没有包括所有的输入选项,只显示其中的一个子集,例如/run.html?-z=-w&yse=yse1&tracefile=capacity.1Mbps_c50.txt。还有其他表单项(如编号框fd,rd,per等)未包括在内。有人能帮我吗?(实际上,未包括的部分应可见,除非选中了使用示例跟踪文件复选框) 您可以在此处看到演示: 以下是完整的HTML

我有一个html表单,我需要解析服务器端的信息(这是我编写的一个简单的HTTP Java服务器),以便使用这些选项运行程序。不幸的是,当我提交表单时,它没有包括所有的输入选项,只显示其中的一个子集,例如
/run.html?-z=-w&yse=yse1&tracefile=capacity.1Mbps_c50.txt
。还有其他表单项(如编号框
fd
rd
per
等)未包括在内。有人能帮我吗?(实际上,未包括的部分应
可见
,除非选中了
使用示例跟踪文件
复选框)

您可以在此处看到演示:

以下是完整的HTML代码(请记住,如果您想修改JavaScript,请不要使用JQuery;所有内容都应在单个文件中编写)


var isTrace=document.getElementById('isTracefile');
var ctTrace=document.getElementById('cttracefile');
var custom=document.getElementById('custom');
isTrace.onchange=函数(){
如果(!isTrace.checked){
ctTrace.style.display=“无”;
custom.style.display=“block”;
}否则{
custom.style.display=“无”;
ctTrace.style.display=“block”;
}
};

请在下面选择一个配置以运行模拟器:
[-w]:在tracefile结束时环绕,并在时间零点重新开始/

[-z]:路由通过的零数据包;路由到共同驻留的Web服务器
[-b]:在后台运行模拟器。

要运行的YSE Emulator: YSE1 YSE2 YSE3 YSE4 YSE5 YSE6

使用示例tracefile 要使用的示例跟踪文件: 容量0.1Mbps\u c50 容量0.3Mbps_100RTT_/_0.00001 容量0.3Mbps_100RTT_/_0.0001 容量为0.3Mbps_100RTT_/_0.001 容量为0.3Mbps_100RTT_/_0.01 容量为0.3Mbps_100RTT_/_0.05 容量:3Mbps\u 100RTT\u/0.1 容量0.3Mbps_200RTT_/_0.0001 容量为0.3Mbps_200RTT_/_0.001 容量0.3Mbps_400RTT_/_0.0001 容量为0.3Mbps_400RTT_/_0.001 容量0.13Mbps_200RTT_/_0.000001 转发延迟:毫秒
反向延迟:毫秒
下载容量:MBps
上传容量:MBps
数据包错误率(每分钟):

只有带有
名称的字段才会发送到服务器。只需在每个要发布的字段中添加一个
名称
(甚至与
id
相同),就可以完成发布。例如:
哦,我明白了!复选框有问题;选择该选项后,应隐藏其他选项。它在Fiddle上工作,但当您在浏览器上测试它时,它不工作。你也能帮忙吗?非常常见的错误:你的脚本在HTML之前被解析和执行(因为它在HTML之前)。此时HTML还没有被解析,您正在搜索的
getElementById()
元素不存在,事件
changed
将不会附加到任何内容(您还应该在浏览器控制台中看到一个错误)。只需在HTML之后移动
块(例如,在关闭
之前),它就可以工作了。在JSFIDLE中,它可以工作,因为脚本是在html之后触发的。感谢@AdrianoRepetti为您提供的巨大帮助!
<html>
<head>
<script type="text/javascript">

var isTrace = document.getElementById('isTracefile');
var ctTrace = document.getElementById('cttracefile');
var custom = document.getElementById('custom');
isTrace.onchange = function(){
    if (!isTrace.checked) {
        ctTrace.style.display = "none";
        custom.style.display = "block";
    } else {
        custom.style.display = "none";
        ctTrace.style.display = "block";
    }
};
</script>
</head>
<body>
<p>
    <h3>Please select a configuration below to run the emulator with:</h3>
    <form action="run.html" method="GET">
        <input type="checkbox" name="-w" value="-w"/>[-w]: wrap around at tracefile end and begin anew at time zero./
        <br/>
        <input type="checkbox" name="-z" value="-w"/>[-z]: zero packets routed through; route to co-resident webserver  
        <br/>
        <input type="checkbox" name="-b" value="-b"/>[-b]: run the emulator in the background.
        <br/>

        <br/> YSE Emulator to Run: <select name="yse">
        <option value="yse1">YSE1</option>
        <option value="yse2">YSE2</option>
        <option value="yse3">YSE3</option>
        <option value="yse4">YSE4</option>
        <option value="yse5">YSE5</option>
        <option value="yse6">YSE6</option>      
        </select> <br/> 
        <br/>        
        <input type="checkbox" id="isTracefile" checked />Use a sample tracefile
        <!--Wrap the select and its label in a container so that it can be shown/hidden-->
        <div id="cttracefile">
            Sample Tracefiles to use: 
            <select name="tracefile">
                <option value="capacity.1Mbps_c50.txt">capacity.1Mbps_c50</option>
                <option value="capacity.3Mbps_100RTT_PER_0.00001.txt">capacity.3Mbps_100RTT_PER_0.00001</option>
                <option value="capacity.3Mbps_100RTT_PER_0.0001.txt">capacity.3Mbps_100RTT_PER_0.0001</option>
                <option value="capacity.3Mbps_100RTT_PER_0.001.txt">capacity.3Mbps_100RTT_PER_0.001</option>
                <option value="capacity.3Mbps_100RTT_PER_0.01.txt">capacity.3Mbps_100RTT_PER_0.01</option>
                <option value="capacity.3Mbps_100RTT_PER_0.05.txt">capacity.3Mbps_100RTT_PER_0.05</option>
                <option value="capacity.3Mbps_100RTT_PER_0.1.txt">capacity.3Mbps_100RTT_PER_0.1</option>
                <option value="capacity.3Mbps_200RTT_PER_0.0001.txt">capacity.3Mbps_200RTT_PER_0.0001</option>
                <option value="capacity.3Mbps_200RTT_PER_0.001.txt">capacity.3Mbps_200RTT_PER_0.001</option>
                <option value="capacity.3Mbps_400RTT_PER_0.0001.txt">capacity.3Mbps_400RTT_PER_0.0001</option>
                <option value="capacity.3Mbps_400RTT_PER_0.001.txt">capacity.3Mbps_400RTT_PER_0.001</option>
                <option value="capacity.13Mbps_200RTT_PER_0.000001.txt">capacity.13Mbps_200RTT_PER_0.000001</option>
            </select> 
        </div>
        <!--Wrap the custom inputs and its labels in a container so that it can be shown/hidden-->
        <div id="custom">
            <label>Forward Delay: </label><input id="fd" type="number" min="0" max="1000" step="1" value ="100"/> ms
            <br/>
            <label>Reverse Delay: </label><input id="rd" type="number" min="0" max="1000" step="1" value ="100"/> ms
            <br/>
            <label>Download Capacity: </label><input id="down" type="number" min="1" max="30" step="1" value ="1"/> MBps
            <br/>
            <label>Upload Capacity: </label><input id="up" type="number" min="1" max="30" step="1" value ="1"/> MBps
            <br/>
            <label>Packet Error Rate (PER): </label><input id="per" type="number" min="0.00001" max="1" step="0.00001" value ="0.00001"/>
        </div>

        <br/> <input type="submit" value="Run Emulator!"/>
    </form>


</body>
</html>