#javascript #jquery #html #input
#javascript #jquery #HTML #ввод
Вопрос:
Я работаю с пользовательской CMS с помощью пользовательского конструктора форм. Нет возможности использовать пользовательский заполнитель для поля ввода.
У меня есть входной тег как таковой:
<input type="text" style="width:390px;" id="Optiona200368a" maxlength="120" name="ctl00$MainContent$ctl00$Optiona200368a">
Мне нужен входной тег для чтения
<input placholder="Email Address" type="text" style="width:390px;" id="Optiona200368a" maxlength="120" name="ctl00$MainContent$ctl00$Optiona200368a">
Есть ли какой-либо способ добиться этого с помощью jQuery?
Спасибо!
Комментарии:
1. Атрибут-заполнитель HTML5 не заменяет элемент label
2. Так что дайте ему
placeholder
атрибут. В чем проблема? Вы, конечно, не будете этого делать.append
. Это не имеет смысла.3. Я настоятельно рекомендую вам потратить час или два на чтение документации по API jQuery . Это действительно занимает не так много времени и окупается очень быстро.
4. Спасибо, Ти Джей … это забавно, потому что я просто собирался признать и спросить вас, что я действительно всесторонне развитый дизайнер и очень хорошо разбираюсь в основах jQuery… Я просто не знаю, как написать это сам, поэтому я собирался спросить, где я могу найти основы, чтобы иметь возможность писать подобные вещи самостоятельно. Так что еще раз спасибо, действительно ценю это!
5. @user3758185: ЛОЛ, рад помочь. 🙂
Ответ №1:
Итак, вам нужно добавить placeholder
атрибут. Да, вы можете сделать это с помощью jQuery:
$("#Optiona200368a").attr("placeholder", "Email Address");
Если id
это ненадежно, вы можете использовать любой другой CSS-селектор в $()
бите, чтобы найти элемент.
Важно, чтобы код, добавляющий атрибут, выполнялся после того, как элемент уже существует. Лучший способ убедиться в этом — поместить script
тег, содержащий его, в нижней части документа, непосредственно перед закрывающим </body>
тегом. Однако, если вы не контролируете, куда отправляется скрипт (а с некоторыми CMS вы этого не делаете), вы можете обернуть код в «готовый» обработчик jQuery следующим образом:
$(function() {
$("#Optiona200368a").attr("placeholder", "Email Address");
});
Это откладывает код внутри функции до завершения основного синтаксического анализа и загрузки HTML, даже если скрипт находится над телом.
Комментарии:
1. Отлично, понял! Спасибо миллион!
2. @Jason: Не забывайте, что есть 15-минутное время защиты, в течение которого OPs не может принимать никаких ответов. 🙂 Поэтому, когда все происходит действительно быстро, они должны вернуться позже и сделать это. (Но спасибо.)