Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript函数多参数中传递asp.net C#控件ID_Javascript_C#_Asp.net - Fatal编程技术网

如何在Javascript函数多参数中传递asp.net C#控件ID

如何在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文本框声明中,我将传递源和目

我的目标是,每当我在textbox1中插入时,它都会在TextBox2中自动更新。我不想使用“输入标签”或回发。请仅更正以下代码:)


功能一拔齿器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
,您不需要传递second
textbox
。我可以实现这一点,但有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];
                }
            }
        }