我正在制作一个javascript函数,我需要确认输入。我写了下面的代码,但即使输入有效值,它也会给出负值,即“else”部分。有人可以建议一个解决方案吗?
Html文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Javascript App</title>
<script type="text/javascript" src="app1.js">
</script>
</head>
<body><h1 id="heading1" style="text-align:center; height:auto; width:auto; font-family:'Arial Black', Gadget, sans-serif">Determinant of a nxn matrix</h1>
<p id="paragraph1" style="font-family:'Arial Black', Gadget, sans-serif"> This program allows you to compute the determinant of a nxn matrix</p>
<p>
Input the order of the matrix
<br />
<input type="text" maxlength="3" name="value" />
<input type="button" value="submit" onclick="verifyorder(value)" />
</p>
<p id="error"></p>
<p id="detspace"></p>
</body>
</html>
Javascript文件:
function verifyorder(order){
;
if(order>0){
return true;
}
else{
alert("Sorry, you need to enter a positive integer value, try again");
document.getElementById('error').innerHTML="Sorry, you need to enter a positive integer value, try again";
}
}
答案 0 :(得分:21)
将文本框的id设为“txtValue”,并将输入按钮声明更改为以下内容:
<input type="button" value="submit" onclick="verifyorder(document.getElementById('txtValue').value)" />
答案 1 :(得分:5)
我更改了您的HTML并为您的输入文本字段提供了有价值的ID。我删除了验证顺序函数的传递参数,而是使用document.getElementById()获取文本字段的内容。然后我用+order
将str转换为值,这样你就可以检查它是否大于零:
<input type="text" maxlength="3" name="value" id='value' />
<input type="button" value="submit" onclick="verifyorder()" />
</p>
<p id="error"></p>
<p id="detspace"></p>
function verifyorder() {
var order = document.getElementById('value').value;
if (+order > 0) {
alert(+order);
return true;
}
else {
alert("Sorry, you need to enter a positive integer value, try again");
document.getElementById('error').innerHTML = "Sorry, you need to enter a positive integer value, try again";
}
}
答案 2 :(得分:0)
只需在输入文本字段中输入id属性即可 -
<input type="text" maxlength="3" name="value" id="value" />
答案 3 :(得分:-3)
尝试:if(parseInt(order)>0){....