将html值传递给javascript函数

时间:2011-03-15 17:58:42

标签: javascript html

我正在制作一个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"; 

    }
}

4 个答案:

答案 0 :(得分:21)

将文本框的id设为“txtValue”,并将输入按钮声明更改为以下内容:

<input type="button" value="submit" onclick="verifyorder(document.getElementById('txtValue').value)" />

答案 1 :(得分:5)

以下是JSfiddle Demo

我更改了您的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){....