如何在JavaScript中实现同样的功能?
我有一个jQuery,当焦点不在字段中时,它会自动计算。我需要在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
<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”)
->htmlNode.valuejqueryObject.val()
),您需要使用event.target检查正确的节点$(document).on('blur'->node.addEventListener('blur'
我有一个jQuery,它可以自动计算…
计算$(函数(){…})
是什么文档。准备好了
,最终您可以在其中添加命名函数。您所说的“从字段计算丢失”是什么意思?@moon我在imekol3中计算imekol1和imekol2之和。@TetsuyaYamamoto在按钮上单击我的计算会从字段中消失。很好的努力@jcubic+1-但我认为你鼓励SeaSide依靠SO来提供这样的答案,而他方面甚至没有付出任何努力来找到解决方案
<script language="javascript">
function startCalc() {
}
</script>
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Script", "startCalc()", True)