Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2013, 12:56
Интересующийся
Отправить личное сообщение для Juli174 Посмотреть профиль Найти все сообщения от Juli174
 
Регистрация: 13.12.2013
Сообщений: 20

Преобразовать 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>
Ответить с цитированием
  #2 (permalink)  
Старый 16.12.2013, 15:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<style>
.label{
    border: none;
}
</style>
<input type="text" class="label" readonly="" value="Ну чем тебе не 'label'?" />
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2013, 11:18
Интересующийся
Отправить личное сообщение для Juli174 Посмотреть профиль Найти все сообщения от Juli174
 
Регистрация: 13.12.2013
Сообщений: 20

К сожалению этот вариант не работает.
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2013, 11:30
Интересующийся
Отправить личное сообщение для js-js Посмотреть профиль Найти все сообщения от js-js
 
Регистрация: 17.12.2013
Сообщений: 10

Juli174,
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <script>
    window.ondblclick = function() { // по двойному клику input преобразуется в p
      var source = document.getElementById("source");
      var dest = document.createElement("p");
      dest.innerHTML = source.value;
      document.body.replaceChild(dest, source);
    }
  </script>
</head>
<body>
  <input type="text" id="source" value="la la la la la">
</body>
</html>

Последний раз редактировалось js-js, 18.12.2013 в 11:55.
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2013, 11:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Juli174
К сожалению этот вариант не работает.
Почему?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2013, 11:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Juli174,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
              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>&nbsp<a href ="javascript:void(0)" onclick="return validateThisElement(' + idno + ')">Validate 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);
                }
                 function validateThisElement(idnum) {
                    //if validate
                    var innerInput = document.getElementById('new_element' + idnum);
                    var mainDiv = document.getElementById('more_element_area');
                    var innerDiv = document.getElementById('divId' + idnum);
                    var innerP = document.createElement('p');
                    innerP.id = 'new_element' + idnum;
                    innerP.innerHTML = innerInput.value;
                    mainDiv.replaceChild(innerP, innerDiv);

                }

  </script>
</head>

<body>
  <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>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2013, 15:12
Интересующийся
Отправить личное сообщение для Juli174 Посмотреть профиль Найти все сообщения от Juli174
 
Регистрация: 13.12.2013
Сообщений: 20

рони, спасибо, супер!))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать выражение типа "1/2" oxpannik Общие вопросы Javascript 2 11.09.2013 11:15
Преобразовать Символ число! shurlik9999 Общие вопросы Javascript 3 11.02.2013 15:38
как преобразовать число 255 в строку "FF" ? kkv Общие вопросы Javascript 6 06.07.2012 03:25
Преобразовать строку в Number с учетом региональных настроек Mutagena Общие вопросы Javascript 2 15.03.2011 01:22
Как преобразовать строку с тегами в DOM элимент GOll Общие вопросы Javascript 7 07.04.2010 10:39