2015-03-10 4 views
0

Это должно быть довольно прямолинейно, но я изучаю уже более суток и не могу понять, почему это не работает. Я делаю веб-страницу в ASP.NET. То, что я пытаюсь сделать, это иметь текстовое поле с серым текстом-заполнителем, которое исчезает и изменяет цвет шрифта на черный при щелчке или выборе текстового поля. Вот мой код:Если утверждения в onclick и onselect не работают в ASP.NET

<asp:TextBox ID="addEditTextBox1" runat="server" onselect="if(style.color=='#999999'){style.color='Black'; this.value='';}" onclick="if(style.color=='#999999'){style.color='Black';this.value='';}" ForeColor="#999999" Width="250px">Revision #</asp:TextBox> 

Я попытался изменить "если" заявление триггеров

if(style.color.value=='#999999'){...} 

и

if(ForeColor=='#999999'){...} 

и

if(ForeColor.value=='#999999'){...} 

и многих других синтаксисов но я не могу найти тот, который работает. Я знаю, что операторы onclick и onselect работают, потому что, если я заменяю «==» на «=», они срабатывают в 100% случаев, но это полностью отрицает всю идею оператора if. Я новичок в ASP.NET и JavaScript, поэтому, возможно, есть что-то очевидное, чего я не хватает, но я не могу найти его нигде. Вот некоторая другая информация, что я не думаю, что было актуальным, но может быть полезным:

  • Запуск в Visual Studio Professional 2012
  • Это в верхней части исходного кода страницы:

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    
  • Целевая структура: .NET Framework 4.5.

Не стесняйтесь спрашивать, оставил ли я что-нибудь. Благодаря!

+0

вы должны принять ваши сложные события 'onclick' и превратить их в функции javascript, которые легче отлаживать. – DLeh

+0

вам нужно сказать 'this.style.' –

ответ

0

Либо просто используйте атрибут HTML5 placeholder, все браузеры поддерживают его сейчас.

Или использовать это, работает как клавиатура табуляции и мышь мыши:

<asp:TextBox ID="addEditTextBox1" runat="server" onfocus="this.onfocus = null; this.value = ''; this.style.color = 'black';" ForeColor="#999999" Width="250px">Revision #</asp:TextBox>

Btw, onclick действительно только для кнопок, вы, вероятно, имел в виду onmousedown и onkeydown - onselect это при выборе текста (в например, предотвратить его).

+0

Это было сделано. Спасибо! Я все еще не уверен, почему инструкции «if» не сработали, но это работает точно так же, как то, что я пытался сделать. – ajlampman

+0

@ajlampman - вам просто не хватало 'this.' перед' style' –

+0

Я пробовал это, но он все еще не работал. – ajlampman

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

  • Нет связанных вопросов^_^