繁体   English   中英

根据另一个表单字段更新表单字段

[英]Update form field based on another form field

我有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;
})()

一切工作正常,但是当第一种形式的值被更改或更新时,第二种形式不会更新。

是否有一种方法可以在字段更新时添加某种事件/更改侦听器?

编辑:使用以下评论中的建议之一-

document.getElementById('fieldname22_7').addEventListener("oninput", function(evt) { 
var Mor = document.getElementById('fieldname22_7').value; 
document.getElementById('fieldname47_20').value = Mor; });

但我收到以下错误-

未捕获的TypeError:无法读取null的属性'addEventListener'

我什至靠近吗?

我无法完全理解您的代码,但我认为它可以为您提供帮助。 所以。 您有两种这样的形式:

<form>
    <input id="input-1">
</form>
<form>
    <input id="input-2">
</form>

而且,如果“ input-1”的值发生了变化,那么您也希望“ input-2”也发生变化。

在这种情况下,您应该使用“ oninput”事件。 因此,将事件处理程序添加到“ input-1”

<input id="input-1" oninput="myEventHandler();">

事件处理程序是:

<script>
function myEventHandler() {
    var in = document.getElementById('input-1').value;
    //Check the input
    document.getElementById('input-2').value = in;
}
</script>

希望对您有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM