我是Javascript的新手。但我必须在我的一个项目中使用它。javascript onchange中的代码和函数中的相同代码有什么区别?
我有一个选项卡式控件,用于设置页面上各种事件的隐藏控件的值(选项卡点击和下拉列表)。隐藏的控件被提供一个JSON字符串,并且单击一个按钮来执行一些服务器端代码并在页面控件中填充数据。
当我在隐藏输入的onchange事件中直接运行此代码时,行为与当我将JavaScript放入函数中时不同。
我需要把它拉出来,这样我才能在函数中做一些其他小事情,这些事情似乎对onchagne事件中的内联代码非常复杂。
以下是正常运行的代码。
<input type="hidden" id="<%= ASP_SSRS.ClientID %>_tracDatState"
onchange="$('#<%= ASP_SSRS.ClientID %>').val(this.value);
document.getElementById('<%= btnSendHiddenField.ClientID %>').click();" />
与本代码进行比较。其中有不同的影响。
<input type="hidden" id="<%= ASP_SSRS.ClientID %>_tracDatState" onchange="compareUnitValues(this.value)" />
<script type ="text/javascript">
function compareUnitValues(args) {
$('#<%= ASP_SSRS.ClientID %>').val(args);
document.getElementById('<%= btnSendHiddenField.ClientID %>').click();
}
</script>
在此先感谢您的任何见解。 Tom
什么*是*不同的效果呢? – CodingIntrigue
单击的按钮是包含reportviewer控件的Web部件的一部分。 “inline”javascript(是我应该如何引用它的),可以在单击任何选项卡的情况下正确刷新报告查看器的服务器数据。有多个标签,其中嵌入了webpart/reportviewer。通过函数调用,只有一个webpart/reportviewers会刷新,其他人不刷新。但是我看到回发上在服务器上执行完全相同的代码。奇怪。 – tomepenn
我看不到代码 – CodingIntrigue