У меня есть текстовое поле, значения которого я должен проверить (если значение текстового поля равняется 50, то отобразите сообщение в lblShowMsg), когда пользовательские вкладки из текстового поля (onBlur событие). Я, может казаться, не разбираюсь в синтаксисе.
У меня есть этот код моего pageload события:
protected void Page_Load(object sender, EventArgs e)
{
txtCategory.Attributes.Add("onblur", "validate()");
}
Но я, может казаться, не получаю корректный код JavaScript. Какие-либо предложения?
Это настоящий код в вашем Page_Load? Вам нужно использовать имя элемента управления, а не имя типа для TextBox. Например, вы можете попробовать:
textBox1.Attributes.Add("onblur", "validate();");
где «textBox1» - это идентификатор, который вы назначили текстовому полю в вашей разметке.
Кроме того, из Javascript очень возможно, что идентификатор textBox изменился после того, как он был отображен на странице. Было бы лучше, если бы вы передали управление функции проверки:
function validate(_this)
{
if (_this.value == "50")
// then set the ID of the label.
}
Затем вы бы установили атрибут следующим образом:
textBox1.Attributes.Add("onblur", "validate(this);");
Наконец, я настоятельно рекомендую использовать библиотеку JQuery, если вы что-то делаете в Javascript. Это сделает вашу жизнь в 10 раз проще.
Это работает.
Textbox1.Attributes.Add ("onblur", "javascript: alert ('aaa');");
Убедитесь, что функция находится в скриптовой части страницы.
Моя страница
<script type="text/javascript">
function Validate() {
alert('validate');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Textbox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
код за
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Textbox1.Attributes.Add("onblur","Validate();");
}
}