Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中实现同样的功能?_Javascript_Jquery_Asp.net_Vb.net - Fatal编程技术网

如何在JavaScript中实现同样的功能?

如何在JavaScript中实现同样的功能?,javascript,jquery,asp.net,vb.net,Javascript,Jquery,Asp.net,Vb.net,我有一个jQuery,当焦点不在字段中时,它会自动计算。我需要在JavaScript中使用相同的方法,并在每次页面刷新后调用该函数。现在,每次验证后,我从字段中进行的计算都会丢失 <script language="javascript"> $(function () { $(document).on("blur", "input[type=text]", function () { var imekontrolebase = $(th

我有一个jQuery,当焦点不在字段中时,它会自动计算。我需要在JavaScript中使用相同的方法,并在每次页面刷新后调用该函数。现在,每次验证后,我从字段中进行的计算都会丢失

<script language="javascript">
    $(function () {
        $(document).on("blur", "input[type=text]", function () {
            var imekontrolebase = $(this).attr('id');
            var ime = ($(this).attr('id')).substr(12, $(this).attr('id').length);
            var n = ime.indexOf("_");
            var red = ime.substr(n+1);

            var imekol1 = "txt_OBR_P_1_1_" + red;                                    
            var imekol2 = "txt_OBR_P_1_2_" + red;
            var imekol3 = "txtKOL3_" + red;

            var txt_OBR_P_1_1 = parseFloat($('#' + imekol1).val().replace(/\,/g, '')) || 0
            var txt_OBR_P_1_2 = parseFloat($('#' + imekol2).val().replace(/\,/g, '')) || 0

            var txtKOL3 = txt_OBR_P_1_1 + txt_OBR_P_1_2;

            if (txtKOL3 === 0 || txtKOL3 === Infinity || isNaN(txtKOL3)) {                                       
                txtKOL3 = $('#' + imekol3).val("");
            }
            else {
                var ukupnoID3 = ("" + txtKOL3).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, function ($1) { return $1 + "," });
                $('#' + imekol3).val(ukupnoID3);
            }
        })
    })
</script>

如果您想要香草JavaScript解决方案,可以尝试以下方法:

函数startCalc(){
var root=document.documentElement | | document.body;
root.addEventListener('blur',函数(e){
var节点=e.target;
如果(node.nodeName=='input'&&
node.getAttribute('type')=='text'){
var imekontrolebase=node.getAttribute('id');
var ime=imekontrolebase.substr(12,imekontrolebase.length);
var n=ime.indexOf(“”);
var red=ime.substr(n+1);
var imekol1=“txt_OBR_P_1_1_”+红色;
var imekol2=“txt_OBR_P_1_2_”+红色;
var imekol3=“txtKOL3”+红色;
var txt_OBR_P_1_1=parseFloat(document.getElementById(imekol1.value.replace(/\,/g'))| 0
var txt_OBR_P_1_2=parseFloat(document.getElementById(imekol2.value.replace(/\,/g'))| 0
var txtKOL3=txt_OBR_P_1_1+txt_OBR_P_1_2;
如果(txtKOL3==0 | | txtKOL3===无穷大| | isNaN(txtKOL3)){
txtKOL3=document.getElementById(imekol3).value;
}
否则{
var ukupnoID3=(“”+txtKOL3).replace(/(\d)(?=(\d\d)+(?!\d))/g,函数($1){return$1+”,“});
document.getElementById(imekol3).value=ukupnoID3;
}
})
});
}
基本上

  • $('#name')->document.getElementById('name')
  • document.querySelector(“#name”)
    返回单个元素或
  • document.querySelectorAll(“#name”)
    返回类似数组的对象

  • jqueryObject.val()
    ->htmlNode.value

  • $(document).on('blur'->node.addEventListener('blur'
    ),您需要使用event.target检查正确的节点

我有一个jQuery,它可以自动计算…
计算
$(函数(){…})
是什么
文档。准备好了
,最终您可以在其中添加命名函数。您所说的“从字段计算丢失”是什么意思?@moon我在imekol3中计算imekol1和imekol2之和。@TetsuyaYamamoto在按钮上单击我的计算会从字段中消失。很好的努力@jcubic+1-但我认为你鼓励SeaSide依靠SO来提供这样的答案,而他方面甚至没有付出任何努力来找到解决方案
<script language="javascript">
    function startCalc() {
    }
</script>
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Script", "startCalc()", True)