0

javascript がテキスト ボックスのデフォルト テキストの変更を無視する理由がわかりません。

詳細: テキストボックスのデフォルトのテキストは「検索」です。クライアントがデフォルトのテキストで検索フォームを送信しようとすると、false が返され、フォーカスがテキスト ボックスに戻されます。

<asp:Panel CssClass="search rnd" ID="SearchBox" runat="server" DefaultButton="btnSearch">
    <asp:TextBox ID="txtSearch" runat="server" ValidationGroup="searchForm" MaxLength="100" CssClass="text" Text="Search" onfocus="if ( this.value == 'Search') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = 'Search'; }"></asp:TextBox>
    <asp:Button ID="btnSearch" runat="server" ValidationGroup="searchForm" CssClass="btn-search" ToolTip="Search the Website" OnClick="btnSearch_Click" OnClientClick="if ( document.getElementById('<%= txtSearch.ClientID %>').value = 'Search') { document.getElementById('<%= txtSearch.ClientID %>').style.background = 'yellow'; document.getElementById('<%= txtSearch.ClientID %>').focus(); return false; } " />
    <asp:RequiredFieldValidator CssClass="hdn rf" ID="RequiredFieldValidator1" ControlToValidate="txtSearch" runat="server" ErrorMessage="*"></asp:RequiredFieldValidator>
</asp:Panel>

誰か助けてください!

4

2 に答える 2

2

比較する代わりに割り当てています。

変化する:if ( document.getElementById('<%= txtSearch.ClientID %>').value = 'Search')

if ( document.getElementById('<%= txtSearch.ClientID %>').value == 'Search')

于 2013-04-18T10:04:02.837 に答える