Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2015, 21:41
bee bee вне форума
Интересующийся
Отправить личное сообщение для bee Посмотреть профиль Найти все сообщения от bee
 
Регистрация: 04.04.2012
Сообщений: 29

Очистка поля перед добавлением
Доброго времени!
есть скрипт
$(document).ready(function(event){
	$("#form1").submit(function(event){
		event.preventDefault();
			$("input[type=text]").each(function(){
				$("#rez").append($(this).val()+" ");
			});
return false;
});
});

который по нажатию на кнопку
<input type="submit" value="Ready" name="write" class = "button" onclick="location.href="html.by;">

объединяет текст из полей input в одно поле.

но проблема в том что при повторном нажатии на кнопку текст не обновляется а добавляется до существующего.
подскажите пожалуйста как можно сделать удаление старого текста при повторном нажатии на кнопку?
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2015, 21:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

bee,
а что мешает обнулить данные в $("#rez").html("") перед циклом?
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2015, 22:45
bee bee вне форума
Интересующийся
Отправить личное сообщение для bee Посмотреть профиль Найти все сообщения от bee
 
Регистрация: 04.04.2012
Сообщений: 29

Сообщение от рони
а что мешает обнулить данные в $("#rez").html("") перед циклом?
незнание мешает(
Сработало! Большое спасибо!
Но возник еще вопрос, почему после изменения текста в поле #rez скрип перестает работать?
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2015, 22:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

bee,
у вас может и нет никогда той страницы на которой вы когда-то нажали кнопку.
это же моментальная перезагрузка onclick="location.href="html.by;"
что это за элемент #rez ?
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2015, 23:12
bee bee вне форума
Интересующийся
Отправить личное сообщение для bee Посмотреть профиль Найти все сообщения от bee
 
Регистрация: 04.04.2012
Сообщений: 29

echo '<textarea name="text" id="rez" rows="10" cols="150" class="enter" "></textarea>' ."\n".'	';
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2015, 23:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

bee,
для textarea используется val() а не append()
$(document).ready(function(event){
	$("#form1").submit(function(event){
		event.preventDefault();
            var str = ""
			$("input[type=text]").each(function(){
				str += $(this).val()+" ";
			});
        $("#rez").val(str);
});
});
Ответить с цитированием
  #7 (permalink)  
Старый 02.06.2015, 23:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

bee,
<head lang="en">
        <meta charset="UTF-8">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <title></title>
        <script>
          $(document).ready(function(event){
	$("#form1").submit(function(event){
		event.preventDefault();
            var str = ""
			$("input[type=text]").each(function(){
				str += $(this).val()+" ";
			});
        $("#rez").val(str);
});
});

        </script>
    </head>
    <body>


        <form action="json.txt" id="form1">
            <input type="text" name="bublik" value="1">
            <input type="text" name="bublik2" value="2">
            <input type="text" name="bublik" value="3">
            <input type="submit" value="Ready" name="write" class="button" >
        </form>
        <textarea name="text" id="rez" rows="10" cols="150" class="enter" ></textarea>



    </body>
Ответить с цитированием
  #8 (permalink)  
Старый 03.06.2015, 08:52
bee bee вне форума
Интересующийся
Отправить личное сообщение для bee Посмотреть профиль Найти все сообщения от bee
 
Регистрация: 04.04.2012
Сообщений: 29

БОЛЬШОЕ СПАСИБО!!! Все отлично работает!
Ответить с цитированием
  #9 (permalink)  
Старый 04.06.2015, 16:16
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

50 копеек про использование значений текстовых полей в html-коде.
Напиши в любом поле выражение типа "a + b > c", про'append'и его и посмотри, что получилось. А получится шняга - символ > будет заменен на его эквивалент &lt;
Чтобы избежать такого эффекта, надо либо:
1) Использовать свойство объекта innerText
2) Для показа пользователю допускается делать так, как сделано у тебя, но для хранения правильного значения нужно иметь еще одно скрытое поле (либо type=hidden, либо display: none c type=text), в котором ты и можешь склеивать все значения.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему введённые в поле данные исчезают при добавлении такого же нового поля? javascript_pupil Общие вопросы Javascript 6 30.01.2015 01:30
Очистка полей формы перед отправкой Batyabest Events/DOM/Window 5 10.07.2014 14:39
В value поля input находится не весь текст из поля DarkLordDark Общие вопросы Javascript 1 13.06.2014 00:17
Поочерёдная очистка поля input Found Общие вопросы Javascript 3 18.07.2011 01:52
Как сделать связанные поля ввода diakon Элементы интерфейса 2 11.12.2009 16:17