Что я делаю, это в основном профиль пользователя, в котором есть текстовое поле для описания, добавленное пользователем о себе. Хотя у меня есть отдельная страница, где пользователь может редактировать профиль, но я хочу предоставить функцию, которая, когда пользователь наводится на его поле описания, затем видит кнопку edit
.Как заменить элемент textarea с помощью javascript
Если пользователь нажимает на эту кнопку, он сам может редактировать поле описания, а бэкэнд будет обновлен с использованием Ajax. Вызов ajax и обработка бэкэнда просты, но как я могу заменить html
на кнопку textarea
и submit
и снова вернуть оригинальный html с помощью javascript.
Вот что мой HTML выглядеть
<div id="personalText" >
<a href="#" id="editButton"> edit </a>
<p id="descText">{{profile.desc}}</p>
</div>
Когда кто-то нажмет editButton
Я хочу, чтобы заменить HTML внутри personalText
с textarea
, содержащий исходный текст в descText
, и update
кнопку. И когда пользователь редактирует текст и нажимает обновление, я обновляю бэкэнд-модель и снова добавляю тег <a>
и тег <p>
.
Может кто-нибудь помочь. Кажется, я знаю, как делать его части, но не могу понять, как я буду заменять исходную структуру на update
.
Большое спасибо за решение, я никогда хотя тумблер и она, кажется, гораздо лучшим решением. – Sachin
Кажется, что есть некоторые проблемы с js, которые вы указали, он отлично работает на jsfiddle, но когда я запускаю на сервере разработки '$ (« # editButton »). On (« click », function()' уволен дважды в результате все это переключается дважды, и дисплей остается тем же. Как я знаю, это происходит, когда я вызываю вызов 'alert()' внутри функции, и всплывающее окно появляется дважды. – Sachin
Когда я удаляю javasrcipt для кнопки ввода, то '$ (" # editButton ")' js запускается только один раз, но теперь текстовая область не отображает текст, который он должен. Хотя, если я вижу содержимое текстовой области с использованием предупреждения, тогда текст есть, но он не отображается – Sachin