Javascript 当用户没有输入任何数字时,我需要显示一个警报框
关于MaxN函数,我不知道我做错了什么。最大值显示正确。但是,当我必须显示一条警报消息,以防用户没有输入警报“NaN”中显示的任何数字,而不是所需的消息。 这是我的密码: JS文件:Javascript 当用户没有输入任何数字时,我需要显示一个警报框,javascript,alert,Javascript,Alert,关于MaxN函数,我不知道我做错了什么。最大值显示正确。但是,当我必须显示一条警报消息,以防用户没有输入警报“NaN”中显示的任何数字,而不是所需的消息。 这是我的密码: JS文件: function getFirstNumber() { var value1 = document.getElementById("fnumber").value; var fn = parseInt(value1); return fn; } function getSecondNum
function getFirstNumber()
{
var value1 = document.getElementById("fnumber").value;
var fn = parseInt(value1);
return fn;
}
function getSecondNumber()
{
var value2 = document.getElementById("snumber").value;
var sn = parseInt(value2);
return sn;
}
function getThirdNumber()
{
var value3 = document.getElementById("tnumber").value;
var tn = parseInt(value3);
return tn;
}
function MaxN()
{
var fn = getFirstNumber();
var sn = getSecondNumber();
var tn = getThirdNumber();
if (fn == "" && sn == "" && tn =="") {
alert('Please input at least one number');
} else if (fn >= sn && fn >= tn){
alert(fn);
} else if (sn >= fn && sn >= tn){
alert(sn);
} else {
alert(tn);
}
}
HTML文件:
<html>
<head>
<script type="text/javascript" src="javafile_exercise.js"></script>
</head>
<body>
<div>
<span>First number: </span><input type="text" id="fnumber" />
</div>
<div>
<span>Second number: </span><input type="text" id="snumber" />
</div>
<div>
<span>Third number: </span><input type="text" id="tnumber" />
</div>
<br>
<button type="button" onclick="MaxN()">Max Number</button>
</br>
</body>
</html>
第一个号码:
第二个号码:
第三个号码:
最大数
Version 1
您仅在以下情况下显示此消息:
fn==”和sn==”以及tn==”
这意味着所有三个文本字段都必须为空。使用或语句,应该可以解决您的问题
如果其中一个文本字段为空,则您的消息将显示
var value1 = document.getElementById("fnumber").value;
if (value1 == null)
{
return 0;
}
else
{
var fn = parseInt(value1);
return fn;
}
在调用函数的时候,即使on是空的,所以它的值为NaN
编辑修复程序:
if ((fn == "") || (sn == "") || (tn ==""))
{
alert('One of the text field is empty');
}
版本2 另一种方法是在文本字段为空时返回0。这样,即使文本字段为空,您也将始终拥有一个数字
var value1 = document.getElementById("fnumber").value;
if (value1 == null)
{
return 0;
}
else
{
var fn = parseInt(value1);
return fn;
}
如果您更改逻辑,输入值是而不是数字,但里面没有写入任何内容,那么它将起作用,因此您应该使用
isNaN
函数getFirstNumber()
{
var value1=document.getElementById(“fnumber”).value;
var fn=parseInt(值1);
返回fn;
}
函数getSecondNumber()
{
var value2=document.getElementById(“snumber”).value;
var sn=parseInt(值2);
返回序列号;
}
函数getThirdNumber()
{
var value3=document.getElementById(“tnumber”).value;
var tn=parseInt(值3);
返回tn;
}
函数MaxN()
{
var fn=getFirstNumber();
var sn=getSecondNumber();
var tn=getThirdNumber();
如果(伊斯南(fn)和伊斯南(sn)和伊斯南(tn)){
警报('请至少输入一个数字');
}否则如果(fn>=sn&&fn>=tn){
警惕(fn);
}否则如果(序号>=fn&&sn>=tn){
警报(sn);
}否则{
警报(tn);
}
}
第一个号码:
第二个号码:
第三个号码:
最大数
你是说这个??
函数getFirstNumber()
{
var value1=document.getElementById(“fnumber”).value;
var fn=parseInt(值1);
返回fn;
}
函数getSecondNumber()
{
var value2=document.getElementById(“snumber”).value;
var sn=parseInt(值2);
返回序列号;
}
函数getThirdNumber()
{
var value3=document.getElementById(“tnumber”).value;
var tn=parseInt(值3);
返回tn;
}
函数MaxN()
{
var fn=getFirstNumber();
var sn=getSecondNumber();
var tn=getThirdNumber();
如果(!isNaN(fn)&&!isNaN(sn)&!isNaN(tn)){
如果(fn==”&&sn==”&&tn==”){
警报('请至少输入一个数字');
}否则如果(fn>=sn&&fn>=tn){
警惕(fn);
}否则如果(序号>=fn&&sn>=tn){
警报(sn);
}否则{
警报(tn);
}
}
其他的
警告(“请只输入数字!!”;
}
第一个号码:
第二个号码:
第三个号码:
最大数
像这样的东西怎么样
function getNumber(id, number, ERRMessage) {
var result = false;
var elm = document.getElementById(id);
try {
var number = parseInt(value2);
var result = true;
} catch (ex) {
ERRMessage = ex.message;
}
return result;
}
function MaxN(s) {
//create id array
var ids = s.split(" ");
//init result array
var numbers = []
//get the numbers from the form
for (var i = 0; i < s.length; i++) {
if (getNumber(ids[i], number,ERR)) {
numbers.push(number)
} else {
console.log(ERR);
}
}
// do we have 3 numbers at least
if (numbers.length < 3) { // maybee not
alert(tn);
return;
} else {// we have 3 numbers
alert("Yippiee"); // get exited
console.log(numbers)
// get the maximum of the numbers
var max = numberts[0];
for (var i = 0; i < s.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
alert("MAXIMUM is" + max) // show result
}
}
在MaxN中添加调试器;-你会发现你的第一个逻辑倾向于| |而不是|&&