本文介绍了使用JavaScript更改cfform值以进行动态绑定输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CFM

<html>
<head>
<title>Test Page</title>
<script type="text/javascript">
    function toggleV(value){
        document.getElementById('blah').value = value;
    }
</script>
</head>
<body>
<cfform name="coolfrm">
    <cfinput type="hidden" name="blah" id="blah" value="default">
    <a onclick="toggleV('anothervalue')" style="cursor:pointer;">click Me</a>
</cfform>

<cfdiv bind="cfc:TestCFC.func({coolfrm:blah})"></cfdiv>

</body>
</html>

CFC

<cfcomponent>
    <cfscript>
        remote function func(simpleString){
            return simpleString;
        }
    </cfscript>
</cfcomponent>

我希望这段代码要做的是将cfdiv中的文本从 default更改为 anothervalue 。

What I expect this code to do is change the text in the cfdiv from "default" to "anothervalue".

这与我认为的方式不符,我想知道为什么。

This doesn't work the way I think it should, and I would like to know why.

推荐答案

通过以下方式定义:

以编程方式修改字段时,更改事件未正确触发。

The change event isn't firing correctly when you modify the field programmatically.

通过稍微更改JavaScript函数来解决此问题:

Solve this by changing the JavaScript function slightly:

function toggleV(value){
    document.getElementById('blah').value = value;
    ColdFusion.Event.callBindHandlers('blah',null,'change');
}

这篇关于使用JavaScript更改cfform值以进行动态绑定输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-27 17:18