#javascript #asp.net
#javascript #asp.net
Вопрос:
Извините, что снова беспокою вас по этой проблеме.
Решение, которое я принял от Джеймса Джонсона, на самом деле не сработало, потому что оно не позволяет мне вводить какие-либо данные в текстовое поле, а это не то, что нам нужно.
Мы хотели бы отобразить сообщение только как справочную информацию. Другими словами, мы просто хотели бы посоветовать пользователю установить флажок, если он / она хочет получить электронное письмо.
Ниже приведено то, что я придумал на основе ссылки hel от Rob. Это работает. Единственная помощь, которую я хотел бы получить от вас, — это заставить сообщение открыться в новом окне. Пример сообщения, которое я использую, — это Focus Fire .
Не могли бы вы помочь?
Это последний код:
<head>
<style type="text/css">span id='1' {display:none;}</style>
<script type="text/javascript" src="jqueryMsg.js"></script>
</head>
<asp:TextBox ID="chck1" runat="server" Width="75px"></asp:TextBox>
<span id='1'>focus fire</span>
<script type="text/javascript">window.onload = (function () {
try{ $("input:text").focus(function () {
$(this).next("span").css('display','inline').fadeOut(1000); });
}catch(e){}});</script>
Комментарии:
1. это возможно. что вы пробовали?
2. Сначала вы сказали: «Можно ли щелкнуть texbox?» затем позже спросил «как только пользователь нажимает на текстовое поле», что это такое? Есть куча событий: onClick, onHover, onFocus…
3. Привет, Чад, мне жаль, так как я могу что-то перепутать. мы хотели бы иметь возможность давать пользователю инструкции, как только пользователь нажимает на текстовое поле для ввода текста.
Ответ №1:
Добавьте ClientIDMode
атрибут -в текстовое поле, чтобы JavaScript мог получить к нему доступ через идентификатор, не возясь с ctrwhateverstrangeidaspnetproduces:
<asp:TextBox ID="instruct" runat="server" Width="75px" ClientIDMode="static">
А затем обработать событие щелчка (в этом примере используется jQuery, вы также можете использовать необработанный JavaScript):
$(document).ready(function() {
$('#instruct').click(function() {
alert('.click()-handler called.');
});
});
Комментарии:
1. Большое вам спасибо, Деннис. В этой строке вызывается alert(‘.click ()-обработчик.’); здесь я добавляю inx в такие структуры, как «Пожалуйста, установите флажок справа, если вы хотите получить подтверждение? Я очень новичок в javascript.
2. Да, функция оповещения может быть заменена любым кодом javascript. Пока оно находится внутри функции, оно выполняется всякий раз, когда щелкает элемент управления.
Ответ №2:
Вы могли бы обернуть текстовое поле в ПРОМЕЖУТОК и добавить onmouseover
событие к промежутку.
<span onmouseover="alert('This is a TextBox');"><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></span>
Комментарии:
1. Привет, Джеймс, ваше решение пока является наиболее перспективным просто из-за простоты использования. Я пытаюсь придать ему стиль, чтобы приблизиться к флажку. Это просто слишком далеко от текстового поля. Спасибо
Ответ №3:
Посмотрите на обработчик событий onFocus () для JavaScript, который будет выполнять предоставленную функцию при фокусировке на нужном текстовом поле, так как этот метод будет работать, если пользователь нажимает или вкладывает в нужное текстовое поле.
Или вы можете использовать focus() в jQuery:
$('#instruct').focus(function(){
// Insert desired response here
alert('Your instructions');
});
Комментарии:
1. Спасибо, Роб, мы бы предпочли, чтобы оно не имело фокуса. Причина в том, что мы используем просто как инструкцию, а не для проверки чего-либо.
Ответ №4:
Один из способов — добавить его в свой codebehind в событие загрузки страницы, например:
инструктировать.Атрибуты.Add(«onclick», «yourJavascriptFunction();»)
Причина добавления в событие загрузки страницы заключается в том, что добавленные атрибуты теряются во время обратной передачи.
Ответ №5:
Или вы могли бы вместо этого использовать событие onFocus (в случае, если пользователь переходит в текстовую область вместо того, чтобы нажимать на нее, я предполагаю, что вы также хотите отобразить свое сообщение):
$('textarea').focus(function(){
alert('hi');
}):
Комментарии:
1. Спасибо, Алекс. Единственное, что меня все еще смущает, это все, что мне нужно сделать еще?
2. Спасибо всем за ваше время и невероятную помощь. Единственный способ, который я могу понять, и который я могу использовать, — это способ Джеймса Джонсона. Еще раз спасибо экспертам за вашу помощь.