2013-03-07 4 views
0

У меня есть форма с текстовым полем (Имя) и выпадающим списком (Отель).Javascript предупреждение не отображается

<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; 
    }} 

enter image description hereenter image description here

Он не показывает предупреждения, если я не вводите ничего в поле Name. Валидация отеля работает отлично.

+1

Необходимо ввести внутреннюю кодировку объекта ' ' в строку. Я не знаю, как это сделать. – Barmar

ответ

1

попробовать:

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

Оставьте пустое пространство! Если вы хотите отступать от текста в текстовом поле, используйте css padding!

Если вышеуказанная вещь не работает, я думаю, вы должны использовать <asp:TextBox/> вместо входного сервера runat! Вы проверили, какое результирующее значение LName.ClientID и настоящий идентификатор на вашем входе?

+0

Я пробовал это. Но результат такой же – prema

+0

@prema ... работает для меня http://jsfiddle.net/zFkeh/ – Gibron

+0

@Nikolaj: Теперь он работает отлично Спасибо – prema

0

Изменить эту строку:

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

к:

if (document.getElementById('<%= LName.ClientID %>').value == String.fromCharCode(160) + 'Name') { 
+0

Я пробовал это. Но результат такой же – prema

+0

попробуйте еще раз. ' ' имеет код char 160, а не 32, как я думал. –

Смежные вопросы