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”。
这不是我想的那样工作,我想知道为什么。
发布于 2011-10-05 04:26:48
根据定义来自:http://www.w3.org/TR/html4/interact/scripts.html
当控件失去输入焦点并且其值在获得焦点后被修改时,将发生onchange事件。
当您以编程方式修改字段时,change事件不能正确激发。
通过稍微更改JavaScript函数来解决此问题:
function toggleV(value){
document.getElementById('blah').value = value;
ColdFusion.Event.callBindHandlers('blah',null,'change');
}https://stackoverflow.com/questions/7652136
复制相似问题