我对javascript并不是很熟悉,但我正在努力,我正在尝试使用“与结算地址相同”类型复选框来填充同一表单上的一些文本框以及来自其他文本框的数据。我在网上找到了一些解决方案,但他们并没有为我工作。我可能会忽略一些简单的事情,但我已经尝试了很多。这是我现在拥有的:
function AutoFillBilling()
{
var text = document.getElementById("CustContact").Value;
alert(text);
}
警告弹出,但只是说未定义,我也尝试了$(“#CustContact”)。值无济于事。以下是我正在尝试访问的文本框
<asp:Textbox runat="server" ID="CustContact" ClientIDMode="Static" type="text" placeholder="Contact" class="required"/>
我错过了什么?
答案 0 :(得分:1)
属性以JavaScript中的小写字母开头:
var text = document.getElementById("CustContact").value;
此外,虽然ClientIDMode="Static"
当然应该显式设置客户端id
属性,但在调试时,您可能只想检查HTML以确保。使用JavaScript时,仅查看服务器端标记会使您不必要地失明。
答案 1 :(得分:0)
你可以这样使用
<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模式作为静态,如果不是,那么您可以使用<%# xxxx.ClientID%>
块来访问其ID