我正在尝试将asp控件(文本框)发送到javascript函数。
onblur="CalculateLossRatio(this.value,<%=txtLossRatioCurrentYear.ClientID%>)"
这是正确的方法。
答案 0 :(得分:0)
在您的情况下,您可以执行以下操作:
<asp:TextBox ID="TextBox1" onblur="CalculateLossRatio(this.value, 1)" runat="server" />
<asp:TextBox ID="TextBox2" runat="server" Text="7"/>
<script type="text/javascript">
function CalculateLossRatio(arg1, arg2)
{
if (arg2 == 1)
{
var txt = document.getElementById('<%=TextBox2.ClientID%>');
}
else if(arg2 == 2)
{
// TODO - get other txt...
}
alert(arg1 - txt.value);
}
</script>
答案 1 :(得分:0)
那是可以接受的,你实际上在做的是使用预处理器指令
<%=txtLossRatioCurrentYear.ClientID%>
将在运行时被生成的控件ID替换,传递this.value
将传递控件的引用,但您仍然可以使用var txtbox = document.getElementById(controlid);
答案 2 :(得分:0)
您可以将对发件人的引用直接发送到您的js-function(如果有另一个文本框,则不清楚该问题):
onblur="CalculateLossRatio(this)"
function CalculateLossRatio(txtBox)
{
if(txtBox != null){
var text=txtBox.value;
}
}