从母版页设置子页上的文本框值
Set textbox value on child page from master page
我正在使用以下 jQuery 代码来检测条形码扫描并将条形码数据放入子页面的文本框中。现在这段代码在子页面中并且按预期工作:
<script type="text/javascript" src="Scripts/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.scannerdetection.js"></script>
<script type="text/javascript">
$(document).scannerDetection({
minLength: 5, // override the default minLength of 6 since barrel numbers are 5 digits - otherwise onError is triggered
timeBeforeScanTest: 200, // wait for the next character for upto 200ms
endChar: [13], // be sure the scan is complete if key 13 (enter) is detected
avgTimeByChar: 40, // it's not a barcode if a character takes longer than 40ms
ignoreIfFocusOn: 'input', // turn off scanner detection if an input has focus
onComplete: function (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
},// main callback function
scanButtonKeyCode: 116, // the hardware scan button acts as key 116 (F5)
scanButtonLongPressThreshold: 5, // assume a long press if 5 or more events come in sequence
onError: function (string) { alert('Error ' + string); }
});
</script>
我需要将此 jQuery 移动到我的母版页,但我不知道如何从母版页引用子页上的 txtBarcode 和 btnRefresh 控件。谁能给我一些 onComplete 回调函数的示例代码,让我可以从母版页填充子页上的控件?
onComplete: function (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
},// main callback function
谢谢!
像以前一样将方法放在子页面中,但命名如下:
function detectionCompleted (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
}
现在,只需在母版页中使用该名称,如下所示:
...
onComplete: detectionCompleted
...
或者,您可以依赖 css-class。只需为 txtBarcode
和 btnRefresh
使用唯一的 css class 名称,然后像这样使用 jQuery:
在子页面上,添加css-classtxtBarcode
和btnRefresh
控件:
<asp:TextBox id="txtBarcode" class="barcode-textbox" />
<asp:Button id="btnRefresh" class="barcode-btn" />
现在,调用主页:
onComplete: function (barcode, qty) {
$('.barcode-textbox').val(barcode);
$('.barcode-btn').click();
}
我正在使用以下 jQuery 代码来检测条形码扫描并将条形码数据放入子页面的文本框中。现在这段代码在子页面中并且按预期工作:
<script type="text/javascript" src="Scripts/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.scannerdetection.js"></script>
<script type="text/javascript">
$(document).scannerDetection({
minLength: 5, // override the default minLength of 6 since barrel numbers are 5 digits - otherwise onError is triggered
timeBeforeScanTest: 200, // wait for the next character for upto 200ms
endChar: [13], // be sure the scan is complete if key 13 (enter) is detected
avgTimeByChar: 40, // it's not a barcode if a character takes longer than 40ms
ignoreIfFocusOn: 'input', // turn off scanner detection if an input has focus
onComplete: function (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
},// main callback function
scanButtonKeyCode: 116, // the hardware scan button acts as key 116 (F5)
scanButtonLongPressThreshold: 5, // assume a long press if 5 or more events come in sequence
onError: function (string) { alert('Error ' + string); }
});
</script>
我需要将此 jQuery 移动到我的母版页,但我不知道如何从母版页引用子页上的 txtBarcode 和 btnRefresh 控件。谁能给我一些 onComplete 回调函数的示例代码,让我可以从母版页填充子页上的控件?
onComplete: function (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
},// main callback function
谢谢!
像以前一样将方法放在子页面中,但命名如下:
function detectionCompleted (barcode, qty) {
$('#<%= txtBarcode.ClientID%>').val(barcode);
$('#<%= btnRefresh.ClientID%>').click();
}
现在,只需在母版页中使用该名称,如下所示:
...
onComplete: detectionCompleted
...
或者,您可以依赖 css-class。只需为 txtBarcode
和 btnRefresh
使用唯一的 css class 名称,然后像这样使用 jQuery:
在子页面上,添加css-classtxtBarcode
和btnRefresh
控件:
<asp:TextBox id="txtBarcode" class="barcode-textbox" />
<asp:Button id="btnRefresh" class="barcode-btn" />
现在,调用主页:
onComplete: function (barcode, qty) {
$('.barcode-textbox').val(barcode);
$('.barcode-btn').click();
}