实时验证问题

时间:2012-08-18 08:59:56

标签: jquery validation livevalidation

我创建了一个带有一些输入类型=“”文本“框的表单,用于计算另一个输入框中的总数。

我想使用此实时验证(website)来检查第11个框是否超过了设定的数量。问题是第三个框是一个只读框,所以它不会注册其他两个框的更改,除非你点击被更改的框。

无论如何通过点击它来改变它 继续我正在研究的代码

<form onsubmit="return false;" id="frmCreateCheckboxRange" method="post" action="">
<fieldset>
    <legend>Calculation Examples</legend>
    <div id="formContent">

        <p id="ex-sum">
            The Calculation plug-in can parse various DOM elements. From normal
            <code>div</code> and <code>span</code> tags to all form field elements.
        </p>

        <p>
            Numbers:

            <input type="text" size="2" value="0" name="sum_1">
            <input type="text" size="2" value="0" name="sum_2">
            <input type="text" size="2" value="0" name="sum_3">             
            <input type="text" size="2" value="0" name="sum_4">
            <input type="text" size="2" value="0" name="sum_5">
            <input type="text" size="2" value="0" name="sum_6">
            <input type="text" size="2" value="0" name="sum_7">
            <input type="text" size="2" value="0" name="sum_8">
            <input type="text" size="2" value="0" name="sum_9">
            <input type="text" size="2" value="0" name="sum_10" id="sum_10">
            &nbsp;&nbsp;
            Sum:
            <input type="text" readonly="readonly"  size="2" value="" id="totalSum" name="totalSum">

            <script type="text/javascript">
        var totalSum = new LiveValidation('totalSum');
        totalSum.add(Validate.Numericality, { maximum: 10 } );
      </script>  
            (Change the values for dynamic calculations.)



        </p>


</fieldset>

继承人project本身的链接

感谢任何可以提供帮助的人,希望我有意义

1 个答案:

答案 0 :(得分:1)

第三个框看起来不是只读的,所以我假设你的意思是第十一个盒子?

没有完成计算,所以我添加了一个,我不知道为什么你需要一个验证插件来检查你所做的计算总量是否高于某个值?

$(function() {
    $('input[name^="sum_"]').on('change keyup', function() {
        var value = 0,
            max = 100; //set a max value
        $('input[name^="sum_"]').each(function() {
            value += parseInt(this.value, 10);
        });
        if (value < max) $("#totalSum").val(value); //check if over max value
    });
}​);​

FIDDLE