【问题标题】:Get/Set asp:textbox values from javascript从 javascript 获取/设置 asp:textbox 值
【发布时间】:2015-10-16 01:35:09
【问题描述】:

我对 javascript 不是很熟悉,但我正在研究它,我正在尝试做一个“与帐单地址相同”类型的复选框,以使用来自其他文本框的数据填充同一表单上的一些文本框。我在网上找到了一些解决方案,但它们对我不起作用。我可能忽略了一些简单的事情,但我已经尝试了很多。这是我目前拥有的:

function AutoFillBilling()
    {
        var text = document.getElementById("CustContact").Value;
        alert(text); 

    }

警报弹出,但只是说未定义,我也试过 $("#CustContact").Value 无济于事。下面是我要访问的文本框

<asp:Textbox runat="server" ID="CustContact" ClientIDMode="Static" type="text" placeholder="Contact" class="required"/>

我错过了什么?

【问题讨论】:

标签: javascript asp.net textbox


【解决方案1】:

JavaScript 中的属性以小写字母开头:

var text = document.getElementById("CustContact").value;

此外,虽然ClientIDMode="Static" 当然应该明确设置客户端id 属性,但在调试时您可能需要检查HTML 以确保。使用 JavaScript 时,仅查看服务器端标记会使您不必要地盲目。

【讨论】:

  • 我已确认 ID 的行为符合预期。是大写的 V 导致了我的问题。大多数浏览器都可以接受 ClientIDMode 还是我应该这样做: 在 javascript 中?
  • @JordanWayneCrabb:它不应该依赖于浏览器。需要考虑的最大因素是 id 值在页面上必须是唯一的。因此,在中继器或网格等内部使用服务器端控件时,您可能需要进行调整。
【解决方案2】:

你可以这样使用它

<asp:CheckBox ID="Postal_Same_As_PermCheckBox" runat="server" onclick="copyPermAddress(this);" />

和 JavaScript 一样

<script type="text/javascript">
function copyPermAddress(e) {
    if (e.checked) {
        document.getElementById('Postal_Adrs_Line_1TextBox').value = document.getElementById('Perm_Adrs_Line_1TextBox').value;
        document.getElementById('Postal_City_VillageTextBox').value = document.getElementById('Perm_City_VillageTextBox').value;
    } else {
        document.getElementById("Postal_Adrs_Line_1TextBox").removeAttribute('readonly', 'readonly');
        document.getElementById("Postal_City_VillageTextBox").removeAttribute('readonly', 'readonly');
    }
}

在这个例子中,我假设您在 JavaScript 中提到的控件上使用静态客户端 ID 模式,如果不是,那么您可以使用 &lt;%# xxxx.ClientID%&gt; 块来访问它们的 ID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多