文本框我有一個asp:文本框如何更改一個asp的價值:從JavaScript
<asp:textbox ID="NewName" runat="server" />
,當用戶點擊「取消」按鈕,我想刪除無論是在該文本框通過使價值只是「」。如果是文本類型的輸入字段,我可以做到這一點在JavaScript:
document.getElementById('NewName').value= "";
但我不能只是這樣做,因爲這是一個asp:文本框。
文本框我有一個asp:文本框如何更改一個asp的價值:從JavaScript
<asp:textbox ID="NewName" runat="server" />
,當用戶點擊「取消」按鈕,我想刪除無論是在該文本框通過使價值只是「」。如果是文本類型的輸入字段,我可以做到這一點在JavaScript:
document.getElementById('NewName').value= "";
但我不能只是這樣做,因爲這是一個asp:文本框。
當你的asp:文本框呈現給用戶界面時,是的,它只是一個輸入字段的文本類型。這可能是一個問題的唯一部分是ID,但可使用的ClientIDMode設置:
<asp:textbox ID="NewName" runat="server" ClientIDMode="Static" />
呈現到:
<input type="text" id="NewName" />
,因此你應該使用工作完全JavaScript的。
<asp:TextBox>
呈現給<input type="text">
,你可以象使用,唯一的併發症是id=""
屬性被改寫,但你可以這樣做:
document.getElementById("<%= NewName.ClientID %>").value = "";
假設這個腳本是在頁面相同文本框。如果這是在參考<script src="">
那麼你需要使用元素的ID的全局腳本變量。
嘗試文本框的的ClientIDMode設置爲靜態
這樣的JavaScript應該能夠用相同的ID在ASPX找到他們。
這裏整個測試頁
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
function ClearTB1() {
document.getElementById("TextBox1").value="";
}
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
<asp:TextBox ID="TextBox1" runat="server" Text="test" ClientIDMode="Static"></asp:TextBox><br />
<asp:TextBox ID="TextBox2" runat="server" Text="test" ClientIDMode="Static"></asp:TextBox><br>
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="ClearTB1()"
CausesValidation="False" UseSubmitBehavior="False" /><br />
</p>
</asp:Content>
我有同樣的問題。一旦我記得在Ids上使用asp.net進行了一次強化,我解決了它。
我的aspx內,我有:
<input type="text" id="sessSubs"/>
進一步向下,一個gridview內(因此使用的「類」,而不是「ID」),我有一個柱,其具有一個asp:文本框:
<asp:TextBox runat="server" class="paid" />
一次,我回顧了ID重整的問題,它只是改變我所引用的文本框的方式的情況下:
<script type="text/javascript">
$(document).ready(function() {
function updateSubs()
{
var sub = parseFloat($('[id$=sessSubs]').val());
$('.paid').val(sub);
}
$(document).on('change, keyup', '[id$=sessSubs]', updateSubs);
});
</script>
你可以,當然,也使用jQuery和CSS類。但由於這個問題沒有提到jQuery,我的答案也沒有。 –
根據其他一些情況(例如中繼器中的控件,定位多個控件),最好使用CssClass而不是ClientIDMode =「Static」,但最佳答案的確使用Static ClientIDMode。 –