将html值传递给javascript函数

Fru*_*der 9 html javascript

我正在制作一个javascript函数,我需要确认输入.我写了下面的代码,但即使输入有效值,它给出负值即"其他"部分.有人可以建议一个解决方案吗?

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>
Run Code Online (Sandbox Code Playgroud)

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"; 

    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ton 21

给文本框一个id为"txtValue"并将输入按钮声明更改为以下内容:

<input type="button" value="submit" onclick="verifyorder(document.getElementById('txtValue').value)" />
Run Code Online (Sandbox Code Playgroud)

  • 这里有更好的答案,它利用了函数的参数. (3认同)

KJY*_*葉家仁 5

这是JSfiddle演示

我更改了您的HTML,并为您的输入文本字段提供了有价值的ID.我删除了验证顺序函数的传递参数,而是使用document.getElementById()获取文本字段的内容.然后我将str转换为值,+order这样你就可以检查它是否大于零:

<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";
        }
    }
Run Code Online (Sandbox Code Playgroud)