如何将数据输入Javascript进行客户端处理?
我对JavaScript比较陌生,正在开发一个新的应用程序。根据四个下拉选择的结果,我想计算并显示一个文本框,宣布结果。下面的代码允许我在html表单上进行选择并按下“提交”按钮,但不会返回任何结果 我在调试时遇到了困难,因为我不知道如何在屏幕上获得周期性输出(document.write似乎不起作用)来解释程序流。我甚至不确定js是否正在运行……我是否需要从HTML中调用我的js?我是否需要将我的js存储在一个外部文件中并调用该外部文件 谢谢如何将数据输入Javascript进行客户端处理?,javascript,Javascript,我对JavaScript比较陌生,正在开发一个新的应用程序。根据四个下拉选择的结果,我想计算并显示一个文本框,宣布结果。下面的代码允许我在html表单上进行选择并按下“提交”按钮,但不会返回任何结果 我在调试时遇到了困难,因为我不知道如何在屏幕上获得周期性输出(document.write似乎不起作用)来解释程序流。我甚至不确定js是否正在运行……我是否需要从HTML中调用我的js?我是否需要将我的js存储在一个外部文件中并调用该外部文件 谢谢 <html> <head>
<html>
<head>
<SCRIPT type="text\Javascript" EVENT="onclick">
var valueCS ;
var valueV ;
var valueVCS ;
var valueStorm ;
var finalValue = valueCS + valueV + valueVCS + valueStorm;
var startOutage ;
var outageEnd ;
document.write="total is "+finalValue;
if(finalValue==0000) {startOutage="28"; outageEnd="1";} else
(finalValue==0001) {startOutage="27"; outageEnd="1";} else
(finalValue==1110) {startOutage="22"; outageEnd="4";} else
(finalValue==1111) {startOutage="24"; outageEnd="4";} else
document.write("Invalid entries")
document.write("Start Outage: "+startOutage<br>"Outage End: "+outageEnd)
</SCRIPT>
</head>
<body>
<form id = "outageSelector" method="post contServer=1000&vistaServer=100&vistaCSServer=10&storm=1&submitServerStatus=View+Outage+Groups">
<fieldset>
<legend><h1>Please choose the status of each system</h1></legend>
<label>Is the contact server up?</label>
<select id="contServer" name="contServer">
<option valueCS=1000>Up</option>
<option valueCS=0>Down</option>
</select><br>
<label>Is the Vista server up?</label>
<select id="vistaServer" name="vistaServer">
<option valueV=100>Up</option>
<option valueV=0>Down</option>
</select><br>
<label>Is VistaCS up?</label>
<select id="vistaCSServer" name="vistaCSServer">
<option valueVCS=10>Up</option>
<option valueVCS=0>Down</option>
</select><br>
<label>Is the outage due to a storm?</label>
<select id="storm" name="storm">
<option valueStorm=1>Yes</option>
<option valueStorm=0>No</option>
</select><br>
<input type="submit" name="submitServerStatus" value="View Outage Groups" />
</fieldset>
</form>
</body>
</html>
var值;
var valueV;
风险价值;
var值风暴;
var最终价值=valueCS+valueV+valueVCS+valueStorm;
var startOutage;
var outageEnd;
document.write=“总计为”+最终值;
如果(finalValue==0000){startOutage=“28”outageEnd=“1”}else
(finalValue==0001){startOutage=“27”outageEnd=“1”}其他
(finalValue==1110){startOutage=“22”outageEnd=“4”}其他
(finalValue==1111){startOutage=“24”outageEnd=“4”}其他
文件。写入(“无效条目”)
文件。写入(“开始停机:+startOutage
”停机结束:+outageEnd)
请选择每个系统的状态
联系人服务器启动了吗?
向上的
向下
Vista服务器启动了吗?
向上的
向下
维斯塔斯起床了吗?
向上的
向下
停电是因为暴风雨吗?
对
不
要在屏幕上获得输出,您应该使用console.log
以及Firebug、Chrome开发工具或IE开发工具。看
代码中一个明显的问题是
if(finalValue=1110)
应为(用于比较的双等于)
但还有一个问题,以零开头的数字是八进制。就是
010 == 8 // true
你好像在找一个比特面具
var mask = 0;
var flagA = 1, flagB = 2, flagC = 4;
// Add flagA and flagB to the mask
mask = mask | flagA; // or mask |= flagA
mask |= flagB;
// Now you can test which flags are on using bit testing
// is flagA set?
console.log(mask & flagA) // truthy value
// is flagC set?
console.log(mask & flagC) // false (0)
要在屏幕上获得输出,您应该使用
console.log
以及Firebug、Chrome开发工具或IE开发工具。看
代码中一个明显的问题是
if(finalValue=1110)
应为(用于比较的双等于)
但还有一个问题,以零开头的数字是八进制。就是
010 == 8 // true
你好像在找一个比特面具
var mask = 0;
var flagA = 1, flagB = 2, flagC = 4;
// Add flagA and flagB to the mask
mask = mask | flagA; // or mask |= flagA
mask |= flagB;
// Now you can test which flags are on using bit testing
// is flagA set?
console.log(mask & flagA) // truthy value
// is flagC set?
console.log(mask & flagC) // false (0)
Juan已经为您提供了console.log,它非常有用,可能是最好的。Firebug、Chrome-Dev和IE-Dev还允许您添加断点并监视本地和全局变量 黑暗时代的旧调试风格包括使用
alert(“此处的某些字符串”)
获取弹出窗口或向页面添加调试元素,然后用
document.getElementById("debugElement").innerHTML("some string here");
Juan已经为您提供了console.log,它非常有用,可能是最好的。Firebug、Chrome-Dev和IE-Dev还允许您添加断点并监视本地和全局变量 黑暗时代的旧调试风格包括使用
alert(“此处的某些字符串”)
获取弹出窗口或向页面添加调试元素,然后用
document.getElementById("debugElement").innerHTML("some string here");
不要使用
文档。只需编写操作即可。阅读
此外,您还需要了解。您需要(),但与服务器的异步通信也是基于事件的<代码>
不是它的工作方式:-)不要使用文档。只需编写,而需要操纵。阅读
此外,您还需要了解。您需要(),但与服务器的异步通信也是基于事件的<代码>
不是它的工作方式:-)您遇到的问题是表单。所有下拉列表都有相同的名称。您的值的格式也不正确
<form id="outageSelector" method="post" action="[SOME_DESTINATION]">
<fieldset>
<legend><h1>Please choose the status of each system</h1></legend>
<label>Is the contact server up?</label>
<select id="contServer" name="contServer">
<option value=1000>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is the Vista server up?</label>
<select id="vistaServer" name="vistaServer">
<option value=100>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is VistaCS up?</label>
<select id="vistaCSServer" name="vistaCSServer">
<option value=10>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is the outage due to a storm?</label>
<select id="storm" name="storm">
<option value=1>Yes</option>
<option value=0>No</option>
</select><br>
<input type="submit" name="submitServerStatus" value="View Outage Groups" />
</fieldset>
</form>
编辑:这里有一个修改过的js函数
<script>
function checkValues(){
var e;
e = document.getElementById("contServer");
var valueCS = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("vistaServer");
var valueV = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("vistaCSServer");
var valueVCS = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("storm");
var valueStorm = parseInt(e.options[e.selectedIndex].value);
var finalValue = valueCS + valueV + valueVCS + valueStorm;
var startOutage = -1;
var outageEnd = -1;
if(finalValue == 0) {
startOutage = "28";
outageEnd = "1";
} else if (finalValue == 1) {
startOutage = "27";
outageEnd = "1";
} else if (finalValue == 1110) {
startOutage = "22";
outageEnd = "4";
} else if (finalValue == 1111) {
startOutage = "24";
outageEnd = "4";
}
var msg = "total: " + finalValue;
if(startOutage == -1){
msg += " | Start Outage: " + startOutage + " | Outage End: " + outageEnd;
}else{
msg += " | Invalid entries";
}
alert(msg);
}
</script>
函数checkValues(){
变量e;
e=document.getElementById(“contServer”);
var valueCS=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“vistaServer”);
var valueV=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“vistaCSServer”);
var valueVCS=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“风暴”);
var valueStorm=parseInt(e.options[e.selectedIndex].value);
var最终价值=valueCS+valueV+valueVCS+valueStorm;
var startOutage=-1;
var outageEnd=-1;
如果(最终值==0){
startOutage=“28”;
outageEnd=“1”;
}else if(最终值==1){
startOutage=“27”;
outageEnd=“1”;
}否则如果(最终值==1110){
startOutage=“22”;
outageEnd=“4”;
}否则如果(最终值==1111){
startOutage=“24”;
outageEnd=“4”;
}
var msg=“总计:”+最终价值;
如果(startOutage==-1){
msg+=“|开始大修:+startOutage+”|大修结束:+outageEnd;
}否则{
msg+=“|无效条目”;
}
警报(msg);
}
您需要修改表单以使用
<form id="outageSelector" method="post" action="" onsubmit="checkValues()"> ...
。。。
您遇到的问题是表单。所有下拉列表都有相同的名称。您的值的格式也不正确
<form id="outageSelector" method="post" action="[SOME_DESTINATION]">
<fieldset>
<legend><h1>Please choose the status of each system</h1></legend>
<label>Is the contact server up?</label>
<select id="contServer" name="contServer">
<option value=1000>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is the Vista server up?</label>
<select id="vistaServer" name="vistaServer">
<option value=100>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is VistaCS up?</label>
<select id="vistaCSServer" name="vistaCSServer">
<option value=10>Up</option>
<option value=0>Down</option>
</select><br>
<label>Is the outage due to a storm?</label>
<select id="storm" name="storm">
<option value=1>Yes</option>
<option value=0>No</option>
</select><br>
<input type="submit" name="submitServerStatus" value="View Outage Groups" />
</fieldset>
</form>
编辑:这里有一个修改过的js函数
<script>
function checkValues(){
var e;
e = document.getElementById("contServer");
var valueCS = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("vistaServer");
var valueV = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("vistaCSServer");
var valueVCS = parseInt(e.options[e.selectedIndex].value);
e = document.getElementById("storm");
var valueStorm = parseInt(e.options[e.selectedIndex].value);
var finalValue = valueCS + valueV + valueVCS + valueStorm;
var startOutage = -1;
var outageEnd = -1;
if(finalValue == 0) {
startOutage = "28";
outageEnd = "1";
} else if (finalValue == 1) {
startOutage = "27";
outageEnd = "1";
} else if (finalValue == 1110) {
startOutage = "22";
outageEnd = "4";
} else if (finalValue == 1111) {
startOutage = "24";
outageEnd = "4";
}
var msg = "total: " + finalValue;
if(startOutage == -1){
msg += " | Start Outage: " + startOutage + " | Outage End: " + outageEnd;
}else{
msg += " | Invalid entries";
}
alert(msg);
}
</script>
函数checkValues(){
变量e;
e=document.getElementById(“contServer”);
var valueCS=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“vistaServer”);
var valueV=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“vistaCSServer”);
var valueVCS=parseInt(e.options[e.selectedIndex].value);
e=document.getElementById(“风暴”);
var valueStorm=parseInt(e.options[e.selectedIndex].value);
var最终价值=valueCS+valueV+valueVCS+valueStorm;
var startOutage=-1;
弗吉尼亚州