重构javascript以限制表单计算中的重复

时间:2015-12-06 15:25:35

标签: javascript

建立一个form,其中的值可以输入磅或公斤。

脚本是......

    function onlyNumber(fld) {
         if(fld.value.match(/[^0-9.]/)) {
         fld.value=fld.value.replace(/[^0-9.]/g,'');
         }
    }
    function convertUnit(sense, value) {
        retValue = 0;
        if (isNaN (value)) { alert ('Non-numeric value');  return 0; }
        value = parseFloat (value);
        var factor = 0.4536;
        if (sense == 'kg2lb') {
             retValue = value/factor;
             retValue = Math.round(retValue);
        }
        else if (sense == 'lb2kg') {
             retValue = value*factor;
             retValue = Math.round(retValue);
        }
        return retValue;
    }

工作正常但我必须在每次输入时重复此操作:

onblur="this.form.kg_va.value=convertUnit('lb2kg',this.value);" onkeyup="onlyNumber(this);" onfocus="if(this.value == '0') { this.value = ''; }" 

有没有办法简化onblur代码?

例如,有没有办法让函数专注于相同的var对? var对是lb_FOOBAR和kg_FOOBAR。

那些完全相同的输入函数呢?

onkeyup="onlyNumber(this);" onfocus="if(this.value == '0') { this.value = ''; }"

任何方法都可以避免每次输入都重复这些操作?表格将有12个字段。

感谢大家......试着学习如何编写gooder代码!

0 个答案:

没有答案