如何在Javascript函数多参数中传递asp.net C#控件ID
我的目标是,每当我在textbox1中插入时,它都会在TextBox2中自动更新。我不想使用“输入标签”或回发。请仅更正以下代码:)如何在Javascript函数多参数中传递asp.net C#控件ID,javascript,c#,asp.net,Javascript,C#,Asp.net,我的目标是,每当我在textbox1中插入时,它都会在TextBox2中自动更新。我不想使用“输入标签”或回发。请仅更正以下代码:) 功能一拔齿器1(a、b){ 警报(a.value);//它呈现正确的值 警报(b.value);//未定义 document.getElementById(b).value=document.getElementById(a).value } 正如约翰建议的那样。我能实现他的建议。请仅修改上述代码。我想有一个通用的JS函数,在asp文本框声明中,我将传递源和目
功能一拔齿器1(a、b){
警报(a.value);//它呈现正确的值
警报(b.value);//未定义
document.getElementById(b).value=document.getElementById(a).value
}
正如约翰建议的那样。我能实现他的建议。请仅修改上述代码。我想有一个通用的JS函数,在asp文本框声明中,我将传递源和目标clientID。这是可以实现的吗 将onkeyup更改为:
onkeyup="OneTextToother1();"
onkeyup="OneTextToother1(this, 'txt_delivery');"
然后JavaScript可以是:
function OneTextToother1() {
document.getElementById('<%= txtSecond.ClientID %>').value = document.getElementById('<%= txtFirst.ClientID %>').value;
}
其中txt\u delivery
是要更改的控件的id
然后我们需要修改javascript
OneTextTother的外观如下所示:
function OneTextToother1(a, b) {
document.getElementById(findItemInArray(b)).value = a.value;
}
我们需要添加一个附加功能:
function findItemInArray(b) {
var items = [
['txt_delivery', '<%= txt_deliverydate.ClientID %>'],
['txt_route', '<%= txt_route.ClientID %>']
];
for (var k = 0; k < items.length; k++) {
if (items[k][0] === b ) {
return items[k][1];
}
}
}
函数findItemArray(b){
可变项目=[
['txt_交付',''],
['txt_路线','']
];
对于(var k=0;k
由于我们无法将clientId传递给javascript函数,因此最好将每个ASP控件存储在javascript数组中
var items
保存ASP控件的名称,然后保存获取客户端id的方法。然后,我们循环遍历数组以查找传入的参数。我不相信有一个更简单的解决方案来支持多个控件
只需将每个c#控件添加到javascript函数中,然后传递控件名
如果这回答了你的问题,我希望你的评分是正确的
a
是一个DOM节点,b
是一个字符串(带前导空格)FirstTextBox.nextElementSibling=secondTextBox
,您不需要传递secondtextbox
。我可以实现这一点,但有20个主textbox需要在onkeyup上复制到辅助textbox,我希望有一个通用javascript函数,将control.ClientId作为参数,在asp文本框声明中,我将传递源和目标ClientId。这是可以实现的吗??
function findItemInArray(b) {
var items = [
['txt_delivery', '<%= txt_deliverydate.ClientID %>'],
['txt_route', '<%= txt_route.ClientID %>']
];
for (var k = 0; k < items.length; k++) {
if (items[k][0] === b ) {
return items[k][1];
}
}
}