【发布时间】:2015-12-15 18:37:04
【问题描述】:
我有 2 个表格,每个表格都进行特定的计算。在其中一个表单 (TCO) 上,其中一个输入字段基于另一个表单 (MORTGAGE) 中的输入字段进行填充。
我下面的脚本工作正常--
<script>
function checkVar()
{
if( typeof myglobalvar != 'undefined' && myglobalvar != '' && myglobalvar != 0 && jQuery( '.mclass input' ).length )
{
jQuery( '.mclass input' ).val( myglobalvar );
fbuilderjQuery.fbuilder.calculator.defaultCalc( '#'+jQuery( '.mclass input' ).closest( 'form' ).attr('id') );
}
else
{
setTimeout( checkVar, 1000 );
}
}
checkVar();
</script>
在第一种形式中,我的计算公式包含在另一个函数中 --
(function(){
myvar = fbuilderjQuery.fbuilder.calculator.format( ROUND((fieldname17*(fieldname23/100)/fieldname12)), { 'groupingsymbol' : ',' } );
myglobalvar = myvar;
return myvar;
})()
一切正常,但是当第一个表单中的值更改或更新时,第二个表单不会更新。
有没有办法在字段更新时添加某种事件/更改侦听器?
编辑: 使用以下 cmets 中的建议之一 --
document.getElementById('fieldname22_7').addEventListener("oninput", function(evt) {
var Mor = document.getElementById('fieldname22_7').value;
document.getElementById('fieldname47_20').value = Mor; });
但我收到以下错误--
未捕获的类型错误:无法读取 null 的属性“addEventListener”
我还接近吗?
【问题讨论】:
-
你能用你的代码发布一个 jsfiddle 来查看实际环境中的问题吗?
-
我不能,因为它是一个表单插件。脚本工作正常,但我只需要稍微修改脚本以不断侦听任何更改,以便在值更改时始终更新输入字段。
-
您可以将插件或任何脚本添加到托管的 jsfiddle。给我插件的名称,我会做一个小 jsfiddle,稍后你可以修改它。没有例子很难指导你。
标签: javascript jquery forms input onchange