Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Преобразовать type="text" в <p/> / 13 сообщений из 13, страница 1 из 1
16.12.2013, 12:58
    #38502037
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Есть код, который динамически добавляет текстовые поля. Нужно, чтобы после ввода данных и проверки валидации, текстовое поле преобразовывалось в <p/> или какой-то другой элемент, который выглядит на странице как label.
Код:
автор<script type="text/javascript">
var idno = 2;
function addNewElement() {
var mainDiv = document.getElementById('more_element_area');
var innerDiv = document.createElement('div');
innerDiv.setAttribute('id', 'divId' + idno);
var generatedContent = '<input type="text" name="new_element' + idno + '" id="new_element' + idno + '"value="This is my text box' + idno + '"/>&nbsp<a href ="javascript:void(0)" onclick="return removeThisElement(' + idno + ')">Remove This</a>';
innerDiv.innerHTML = generatedContent;
mainDiv.appendChild(innerDiv);
idno++;
}
function removeThisElement(idnum) {
var mainDiv = document.getElementById('more_element_area');
var innerDiv = document.getElementById('divId' + idnum);
mainDiv.removeChild(innerDiv);
}
</script>

автор<div id="more_element_area">
<div>
<input type="text" name="new_element1" value="This is my text box 1" />
</div>
</div>
<a href="javascript:void(0)" onclick="return addNewElement()">+ Add more text box</a>
</div>
...
Рейтинг: 0 / 0
16.12.2013, 13:37
    #38502091
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Juli174,

можно вместо input использовать обычный div co свойством Contenteditable = true
После валидации - присваивать Contenteditable = false
...
Рейтинг: 0 / 0
16.12.2013, 13:42
    #38502097
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89можно вместо input использовать обычный div co свойством Contenteditable = true
После валидации - присваивать Contenteditable = false Даже проще. Сам тег <p> тоже делается Contenteditable
...
Рейтинг: 0 / 0
16.12.2013, 14:13
    #38502158
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89,
Спасибо))) ща буду пробовать))
...
Рейтинг: 0 / 0
16.12.2013, 14:35
    #38502209
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Juli174,
к сожалению, если я преобразую теги в <div> или <p>, то не смогу считывать вводимый текст и проверять виладацию, т.к. у них нет атрибута value(((((
Можно как-нибудь считать их текст?
...
Рейтинг: 0 / 0
16.12.2013, 14:44
    #38502218
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Juli174,

через innerHTML , например так
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<html>
<head>
<style>
p {
	border:1px solid #cccccc;
	width:150px;
}
</style>
</head>
<body>
<p Contenteditable="true" id="txt">abcd</p>
<button onclick="GetValue('txt');">Получить текст</button>
</body>
<script>
function GetValue(idx) {
	var el = document.getElementById(idx);
	alert(el.innerHTML);
}
</script>
</html>
...
Рейтинг: 0 / 0
16.12.2013, 15:33
    #38502292
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89,

спасибо за ответ.
У меня возник еще вопрос.))
Как вставить функцию
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script>
       function valid(idx) {
           var el = document.getElementById(idx);
           var val = el.innerHTML;
           var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
           if (re.test(val)) {
               document.getElementById(idx).contentEditable = "false";
               document.getElementById(idx).style.borderWidth = "0px";
           }
       }
   </script>


в строку
Код: html
1.
var generatedContent = '<p name="new_element' + idno + '" id="new_element' + idno + '" contentEditable="true" class="pAdd" onkeyup="valid("new_element" + idno);">This is my text box' + idno + '</p>&nbsp<a href ="javascript:void(0)" onclick="return removeThisElement(' + idno + ')">Remove This</a>';



Представленный вариант не работает.((
...
Рейтинг: 0 / 0
16.12.2013, 15:47
    #38502335
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Juli174,

увы, я не силен в регулярных выражениях...
Вы сделайте мини-вариант, как я выше, чтобы можно было скопировать весь код в буфер и запустить. Думаю, гуру подскажут.
...
Рейтинг: 0 / 0
16.12.2013, 16:01
    #38502357
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89,

ок, так и сделала)) создала новую тему:
http://www.sql.ru/forum/1066027/funkciya-v-sobytii
...
Рейтинг: 0 / 0
16.12.2013, 16:05
    #38502365
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89,

нашла ответ!
onkeyup=\'valid("new_element' + idno + '");\'
...
Рейтинг: 0 / 0
16.12.2013, 18:11
    #38502558
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
user89,

у меня к Вам огромная просьба!
Подскажите, пожалуйста, как считать текст из тега
Код: html
1.
<p>Какой-то текст</p>

со странице *.aspx.cs?
...
Рейтинг: 0 / 0
16.12.2013, 18:21
    #38502568
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Juli174,

похоже на мы сначала создаем нам преграды, а потом их преодолеваем...
как на мой взгляд, считывать надо из серверных элементов, раз вы с ними работаете.
что вы там показываете и в каком виде - в принципе серверу все равно.
...
Рейтинг: 0 / 0
16.12.2013, 18:31
    #38502578
Juli174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать type="text" в <p/>
Zoria,

дело в том, что я использую динамическое обновление элементов на стороне клиента. Задача заключается в динамическом добавлении email. Я пробовала писать код на стороне клиента, использовала ScriptManager, но я вставляю этот код в проект и он, к сожалению, там не срабатывает...
На стороне клиента все работает как надо, но теперь проблема считать этот email на сервере. Вы можете подсказать, как мне это осуществить?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Преобразовать type="text" в <p/> / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]