Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/34: Рейтинг темы: голосов - 34, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 3

По нажатию кнопки выводить текст из input в отдельный блок

08.10.2018, 22:27. Показов 6503. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Ребята помогите - есть два блока: в правом - форма с двумя <input>, где пишу заголовок и описание; в левом - вывод того, что пишу в правом (выводятся как отдельные блоки). Сверстал форму, написал скрипт, но сомневаюсь в правильности.

Пока дошел только до того момента, где добавляются блоки. Теперь их надо по нажатию крестика удалять - опыта нет еще чайник

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Список дел</title>
    <link rel="stylesheet" href="style.css">
    <script src="jquery-3.3.1.min.js"></script>
    <script src="script.js"></script>
    
</head>
<body>
    <main>
        <section class="left">
            <h1>Список дел:</h1>
            <article id="listJob">
                            
            </article>
            
        
        </section>
        <section class="right">
            <h1>Добавить новое дело:</h1>
            <article class="addJob">
                <form action="" method="post">
                    <p>* Название</p>
                    <input type="text" name="name" required="required" id="input_h2" >
                    <p id="opisanie">* Описание</p>
                    <textarea name="description" id="input_p" cols="30" rows="10" required="required"></textarea>
                    <input type="submit" value="Добавить дело" id="add">
                </form>
            </article>
            <h2></h2>
        </section>
    </main>
</body>
</html>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
body, html {
    padding: 0;
    margin: 0;
    min-width: 1000px;
    font-family: Arial;
}
 
body {
    background-color: #f5f5f5;
}
 
main {
    
    width: 960px;
    margin: 65px auto 0px auto;
    position: relative;
}
h1{
    font-size: 21px;
    font-weight: normal;
    margin:0;
}
 
h2 {
    font-size: 16px;
    font-weight: normal;
    margin-top: 30px;
    margin-bottom: 0px;
    padding: 20px;
    border-bottom: 1px solid #f7f7f7;
    background-color: white;
}
h3 {
    font-size: 16px;
    font-weight: normal;
    margin: 0px;
    padding: 20px;
    background-color: white;
    
}
 
p {
    font-size: 14px;
    color:#8993ad;
    padding:50px 0 11px 40px;
    margin: 30px 0 0 0 ;
}
 
 
 
input {
    margin: 0 40px;
    padding: 15px 0 15px 13px;
    font-size: 16px;
    width: 373px;
}
    #add {
        margin: 30px 0px 55px 40px;
        padding: 20px 55px;
        color: white;
        background-color: #2174fd;
        width: 225px;
        border: 0;
    }
 
textarea {
    font-family: Arial;
    margin: 0 40px;
    padding: 15px 0 15px 13px;
    font-size: 16px;
    width: 373px;
}
 
#listJob {
    
    width: 470px;
    position: relative;
 
}
 
.right {
    top: 0px;
    width: 470px;
    float: right;
    
 
}
.left {
    position: absolute;
    width: 470px;
    margin-right: 20px;
}
.addJob {
    background-color: white;
    
    
}
 
img {
    margin-left: 20px;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$(function(){
 
    $('#add').click(function () {
 
        var inputed_text = $('#input_h2').val();
        var opisanie = $('#input_p').val();
        var inp = $('<h2>' + inputed_text + '<img src="images/clear-button.png" alt="" id="delete">'+'<h3>'+ opisanie + '</h3>'+'</h2>')
 
        $('#listJob').prepend(inp);
 
        
 
        $('#input_h2').val('').focus();
        $('#input_p').val('').focus();
 
    return false; 
 
});
});
Что посоветуете как это сделать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2018, 22:27
Ответы с готовыми решениями:

Нужно выводить текст по нажатию определенной кнопки
Есть 2 кнопки- 1 и 0. Нужно чтобы по нажатию каждой кнопки, в textview выводился текст. Заранее спасибо.

Как в Android Studio по нажатию кнопки выводить свой текст в TextView?
Вот мой код MyActivity.java: package com.example.dasha; import android.app.Activity; import android.os.Bundle; import...

Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio?
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал - изменился текст, опять нажал и тд

2
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
09.10.2018, 04:37
Лучший ответ Сообщение было отмечено Menskiy как решение

Решение

Menskiy,

Демка
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<main>
    <section class="left">
        <h1>Список дел:</h1><article id="listJob"></article>
    </section>
    <section class="right">
        <h1>Добавить новое дело:</h1>
        <article class="addJob">
            <form action="" method="post">
                <p>* Название</p><input type="text" name="name" id="input_h2" required="required">
                <p id="opisanie">* Описание</p><textarea name="description" id="input_p" cols="30" rows="10" required="required"></textarea>
                <input type="submit" value="Добавить дело" id="add">
            </form>
        </article>
        <h2></h2>
    </section>
</main>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$('#add').click(function () {
    var inputed_text = $('#input_h2').val();
    var opisanie = $('#input_p').val();
    
    if(inputed_text !=='' && opisanie !== ''){
        var inp =
            $(
            '<div class="box-job">' +
                '<h2>' + inputed_text + 
                    '<img src="http://harinama-mantra.org/images/000%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B0%20%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D1%8C-u1038-fr.png" alt="" class="delete" >' +
                '</h2>' +
                '<h3>'+ opisanie + '</h3>'+
            '<div>'
        );
 
        $('#listJob').prepend(inp);
    }
 
    $('#input_h2').val('').focus(); $('#input_p').val('').focus();
 
    return false;
});
 
$('#listJob').click(function(e) {
    if(e.target.classList.contains('delete')){
        $('.box-job').eq($('.delete').index(e.target)).remove();
    }
});
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
body, html {
    padding: 0;
    margin: 0;
    min-width: 1000px;
    font-family: Arial;
}
 
body {
    background-color: #f5f5f5;
}
 
main {
    
    width: 960px;
    margin: 65px auto 0px auto;
    position: relative;
}
h1{
    font-size: 21px;
    font-weight: normal;
    margin:0;
}
 
h2 {
    font-size: 16px;
    font-weight: normal;
    margin-top: 30px;
    margin-bottom: 0px;
    padding: 20px;
    border-bottom: 1px solid #f7f7f7;
    background-color: white;
}
h3 {
    font-size: 16px;
    font-weight: normal;
    margin: 0px;
    padding: 20px;
    background-color: white;
    
}
 
p {
    font-size: 14px;
    color:#8993ad;
    padding:50px 0 11px 40px;
    margin: 30px 0 0 0 ;
}
 
 
 
input {
    margin: 0 40px;
    padding: 15px 0 15px 13px;
    font-size: 16px;
    width: 373px;
}
    #add {
        margin: 30px 0px 55px 40px;
        padding: 20px 55px;
        color: white;
        background-color: #2174fd;
        width: 225px;
        border: 0;
    }
 
textarea {
    font-family: Arial;
    margin: 0 40px;
    padding: 15px 0 15px 13px;
    font-size: 16px;
    width: 373px;
}
 
#listJob {
    
    width: 470px;
    position: relative;
 
}
 
.right {
    top: 0px;
    width: 470px;
    float: right;
    
 
}
.left {
    position: absolute;
    width: 470px;
    margin-right: 20px;
}
.addJob {
    background-color: white;
    
    
}
 
img {
    margin-left: 20px;
}
Добавлено через 16 минут

Или самый простой вариант (но, лично я, так бы делать не стал):
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$('#add').click(function () {
    var inp =
        $(
        '<div class="box-job">' +
            '<h2>' + $('#input_h2').val() + 
                '<img src="https://www.cyberforum.ru/images/clear-button.png" alt="" onclick="$(this).parent().parent().remove()">' + // тут обращаемся к родителю родителя (class="box-job") и удаляем его и все что он содержит
            '</h2>' +
            '<h3>'+ $('#input_p').val() + '</h3>'+
        '<div>'
    );
    $('#listJob').prepend(inp);
 
    $('#input_h2').val('').focus();
    $('#input_p').val('').focus();
 
    return false;
});
CSS и HTML те же.
В этом варианте при каждом клике по "Добавить дело" создается так же и обработчик, то есть кликнули 10 раз- создастся 10 обработчиков для удаления дела, не очень гуд
А в 1-ом варианте, который я привел, обработчик всего один- гуд

Добавлено через 8 минут
Еще у вас есть один небольшой недочет:
при клике на кнопку "Добавить дело" вы к тегу <img> каждый раз добавляете id="delete", но дело в том что ид на странице должен быть уникальным, а в вашем случае их получается несколько одинаковых- чего в принципе быть не должно...
1
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 3
09.10.2018, 05:34  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2018, 05:34
Помогаю со студенческими работами здесь

Выводить картинки по нажатию кнопки
нужно при нажатии на кнопку вывести соответствующую картинку, например если нажать на кнопку где текст расположен слева, то выведется скрин...

Выводить изображение по нажатию кнопки
Можно ли в Delphi выводить изображение по нажатию кнопки, если можно то как?

Как передать value с input одной формы, к другой input формы, по нажатию кнопки
Как передать value с input одной формы, к другой input формы, по нажатию кнопки скрипт function id_old_to_id_new (id_old,...

По нажатию кнопки выводить нужный PictureBox
Помогите,нужно чтобы по нажатию кнопки(commandbutton) выводился нужный picturebox

Рандомно выводить картинку по нажатию кнопки
Все здрасти!!! в общем есть шесть картинок в директории img/cub нужно, чтобы по нажатию кнопки рандомно выводило картинку. Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru