0

我有一个带有文本框(名称)和下拉列表(酒店)的表单。

<input type="text" name="lname" runat="server" id="LName" tabindex="1" onblur="if(this.value == '&nbsp;') { this.value = '&nbsp;Name'; }"
                            onfocus="if(this.value == '&nbsp;Name') { this.value = '&nbsp;'; }" value="&nbsp;Name"
                            style="color: #000000; border: 1px solid #757575; width: 234px; margin-top: 5px;" />
                        <div class="dropdownselect" style="margin: 15px 0;">
                            <asp:DropDownList ID="drhotel" runat="server" Style="border: 1px solid #757575; width: 234px;
                                height: 16px; *height: 18px;">
                            </asp:DropDownList>

如果未输入任何内容,文本框将默认显示“名称”。我正在尝试使用以下方法验证客户端点击:

 function validatecust() {
    if (document.getElementById('<%= LName.ClientID %>').value == '&nbsp;Name') {
        alert('Please enter Name');
        document.getElementById('<%= LName.ClientID %>').focus();
        return false;
    }
    if (document.getElementById('<%= drhotel.ClientID %>').value == 'Select Hotel') {
        alert('Please select Hotel');
        document.getElementById('<%= drhotel.ClientID %>').focus();
        return false;
    }}

在此处输入图像描述在此处输入图像描述

如果我没有在名称字段中输入任何内容,它不会显示警报。酒店验证工作正常。

4

2 回答 2

1

尝试:

if (document.getElementById('<%= LName.ClientID %>').value == 'Name') {

留下空白!如果要缩进文本框中的文本,请使用 css 填充!

如果上述事情不起作用,我认为您应该使用 a<asp:TextBox/>而不是输入 runat 服务器!您是否检查过LName.ClientID输入的结果值和真实 ID 是什么?

于 2013-03-07T07:01:25.073 回答
0

更改此行:

if (document.getElementById('<%= LName.ClientID %>').value == '&nbsp;Name') {

到:

if (document.getElementById('<%= LName.ClientID %>').value == String.fromCharCode(160) + 'Name') {
于 2013-03-07T06:53:24.503 回答