在javascript onkeypress中做一些计算

时间:2016-11-12 15:58:17

标签: javascript html javascript-events onkeypress

我的网页上有一个HTML TextBox,显示当前问题的数量(回答一些问题的小网页),我想根据TextBox中的问题类型编号来设置用户想要的问题的快捷方式。 我在下面使用此代码,但这不能正常工作。 例如,所有问题都是8,当我在TextBox中输入15并按Enter键时,if子句不工作,Question变量设置为15。 我使用警报功能来跟踪它,我理解如果条款不能正常工作。有人可以检查并指导我吗? 这是我的所有代码:

<?php
$All = 8;
$URL = "http://localhost/Test.php";
if(isset($_GET["edtQuestionNo"])){
    $QuestionNo = $_GET["edtQuestionNo"];
}else{
    $QuestionNo = 1;
}
?>
<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
function KeyPress(e, URL, All){
    if(e.keyCode === 13){
        var Question = document.getElementsByName("edtQuestionNo")[0].value;
        if(Question > All){
            Question = All;
            alert(All + "  " + Question + "  yes");
        }
        else{
            alert(All + "  " + Question + "  no");
        }
        window.open(URL + "?edtQuestionNo=" + Question,"_self");
    }
}
</script>
</head>
<body>
    <form action="Test.php" method="get" name="FRMQuestion">
        <label>Enter question number : </label>
        <input type="text" name="edtQuestionNo" id="QuestionNo" value="<?php echo $QuestionNo; ?>" 
            onkeypress="KeyPress(event,'<?php echo $URL; ?>','<?php echo $All; ?>')">
        <br>
        <label>Question number is : <?php echo $QuestionNo; ?></label>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

我解决了 1.我必须使用parseInt函数来比较All和Question值。因为他们是不同的类型。 2.我再次在HTML TextBox中输入Question值(计算后),然后打开URL。 我的代码是:

<?php
$All = 8;
$URL = "http://localhost/Test.php";
if(isset($_GET["edtQuestionNo"])){
    $QuestionNo = $_GET["edtQuestionNo"];
}else{
    $QuestionNo = 1;
}
?>
<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
function KeyPress(e, URL, All){
    if(e.keyCode === 13){
        var Question = document.getElementsByName("edtQuestionNo")[0].value;
        if(parseInt(Question) > parseInt(All)){
            Question = All;
        }
        document.getElementsByName("edtQuestionNo")[0].value = Question;
        window.open(URL + "?edtQuestionNo=" + Question,"_self");
    }
}
</script>
</head>
<body>
    <form action="Test.php" method="get" name="FRMQuestion">
        <label>Enter question number : </label>
        <input type="text" name="edtQuestionNo" id="QuestionNo" value="<?php echo $QuestionNo; ?>" 
            onkeypress="KeyPress(event,'<?php echo $URL; ?>','<?php echo $All; ?>')">
        <br>
        <label>Question number is : <?php echo $QuestionNo; ?></label>
    </form>
</body>
</html>