比较keyup函数的表单输入和span值

时间:2018-04-12 16:56:57

标签: javascript html

我有一个表格,列出产品的剩余数量,下面是一个输入字段,可让您将数量放入表单提交购买。

我将剩余数量包含在带有ID的范围内。 在keyup上,我想比较span的值和输入到字段中的输入。

如果输入大于span中的值,则在keyup上,我想将输入值更改为0或等于span ID值。

这是我试图用来完成此操作的javascript:

<script>
$(document).ready(function () {
   document.getElementById('one_and_done_stool_QTY_check').keyup(Qty_check);

    function Qty_check(){
        var QTY1check = document.getElementById('one_and_done_stool_QTY_check').value;
        var QTY1remain = document.getElementById('one_and_done_stool_QTY_remain').innerHTML;

        if (QTY1check.value > QTY1remain.innerHTML)
            alert("NOPE");
            {document.getElementById("one_and_done_stool_QTY_check").value = 0;}
    };}
</script>

这是html:

<span id="one_and_done_stool_QTY_remain">2</span>
<input id="one_and_done_stool_QTY_check" type="text" name="one_and_done_stool">

1 个答案:

答案 0 :(得分:0)

你的主要问题在于这一行:

document.getElementById('one_and_done_stool_QTY_check').keyup(Qty_check);

您可以填写表格:

document.getElementById('one_and_done_stool_QTY_check').onkeyup = Qty_check;

或者您可以直接使用input event

document.getElementById('one_and_done_stool_QTY_check').addEventListener('input', Qty_check);

或jQuery方式:

$('#one_and_done_stool_QTY_check').on('input', Qty_check);

摘录:

&#13;
&#13;
document.getElementById('one_and_done_stool_QTY_check').addEventListener('input', Qty_check);


function Qty_check(e) {
    var QTY1check = +document.getElementById('one_and_done_stool_QTY_check').value;
    var QTY1remain = +document.getElementById('one_and_done_stool_QTY_remain').textContent;

    if (QTY1check > QTY1remain) {
        console.log("NOPE");
        document.getElementById("one_and_done_stool_QTY_check").value = 0;
    }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<span id="one_and_done_stool_QTY_remain">2</span>
<input id="one_and_done_stool_QTY_check" type="text" name="one_and_done_stool">
&#13;
&#13;
&#13;