Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как избежать сброса данных формы, после нажатия кнопки Submit?

Доброго времени суток!
Довожу до ума форму расчета (какой расчет не важно ), и мне не очень нравится, что после нажатия кнопки Submit (и само-собой обновления страницы) поля формы сбрасываются на значения по умолчанию - можно ли сделать так, что бы после нажатия кнопки Submit, в полях оставались только-что введенные данные.
Заранее спасибо!
Ответ:
Спасибо всем кто помагал, седня сам дошел до способа подсказанного ZhukV, основная проблема заключалась в заполнении выпадающих списков, решил вот-так:
 
$segu=($_POST['egu']);
$sel1[$segu]='selected';
...
<select class="input" type=text name=egu>
<option value="0"'.($sel1[0]).'>Выберите из списка</option>
...
Вопрос: Вывод данных с формы по нажатию кнопки submit

Добрый день
только начал знакомиться с MVC
создал модель с 4-мя полями
в представлении вводятся данные,
типа небольшой формы 4 поля и кнопка Submit
как сделть чтоб при нажатие Submit эти введенные данные
выводились в это же представлении где-то рядом
главный вопрос как работать с кнопкой Submit
перечитал много чего но тяжело понять если можно объясните доходчиво)
заранее спасибо
Ответ:
Сообщение от DoNNanaY
как сделть чтоб при нажатие Submit эти введенные данные
выводились в это же представлении где-то рядом
Конкретизируйте.

Вы хотите, чтобы по клику поля просто отобразились в других инпутах\лейблах\etc или что-то иное?

Сообщение от DoNNanaY
главный вопрос как работать с кнопкой Submit
Предположу, что у вас она заключена в разоровский html.beginform(..) - она отправляет submit-запрос на указанный экшон.
Конкретней - читайте интернеты\книги\статьи по данному инпуту
Вопрос: Повторение слота после нажатия кнопки

Добрый вечер.

Пытаюсь сделать так, чтобы при нажатии на кнопку начинал повторяться слот, включил у кнопки autoRepeat, но он работает только когда кнопка зажата.

Делал кнопку зажатой с помощью
C++ (QT)
1
setChecked(true);
но это не работает

Само соединение:
C++ (QT)
1
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(start()));
Слот:
C++ (QT)
1
2
3
4
5
6
7
8
void Core::start()
{
 
    QTime time = QTime::currentTime();
    QString seconds = time.toString("ss");
    ui->label->setText(seconds);
 
}

Или если кто - то знает каким простым образом можно сделать повторение слота после нажатия кнопки, то объясните пожалуйста
Ответ:
Сообщение от nmcf
Сделай событие по таймеру. Нажатие пусть его запускает, а дальше он сам будет повторяться.
Сделал вот так, не знаю как это в плане правильности, но работает, спасибо

core.cpp
Кликните здесь для просмотра всего текста
C++ (QT)
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
#include "core.h"
#include "ui_core.h"
 
Core::Core(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Core)
{
    ui->setupUi(this);
 
    connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(repeattime()));
 
}
 
void Core::repeattime()
{
    t = new QTimer();
    connect(t, SIGNAL(timeout()), this, SLOT(start()));
    t->start(1000);
}
 
void Core::start()
{
 
    //после нажатия кнопки повторяет все что тут написано
 
}
 
Core::~Core()
{
    delete ui;
}


core.h
Кликните здесь для просмотра всего текста
C++ (QT)
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
#ifndef CORE_H
#define CORE_H
 
#include <QWidget>
#include <QDateTime>
#include <QTime>
#include <QTimer>
 
namespace Ui {
class Core;
}
 
class Core : public QWidget
{
    Q_OBJECT
 
public:
    explicit Core(QWidget *parent = 0);
    ~Core();
 
public slots:
    void start();
    void repeattime();
 
private:
    QTimer *t;
    Ui::Core *ui;
};
 
#endif // CORE_H


Добавлено через 36 секунд
Может быть кому пригодится
Вопрос: Как передать value с input одной формы, к другой input формы, по нажатию кнопки

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

скрипт
Код Javascript
1
2
3
4
5
6
7
8
9
function id_old_to_id_new (id_old, id_new)
{
    var olds=document.getElementById(id_old).value;
   
    var news=document.getElementById(id_new).value;
   
   news.value=olds.value;
 alert('Данные переданы!');
}
код форм
Код 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
<html>
<head>
<meta charset="UTF-8" />
<script src="script.js" ></script>
</head>
<body>
<h1 style="color: green" >FORM 1</h1>
<form id="form_1">
<input type="text" id="teg_1" placeholder="text input 1" name="teg_name_1" value="" />
<br />
<br />
<input type="text" id="teg_2" placeholder="text input 2" name="teg_name_2" value="" />
<br />
<br />
<input type="submit" id="button_1" onclick="id_old_to_id_new('teg_1','teg_3')" onclick="id_old_to_id_new('teg_2','teg_4')" name="button_name_1" value="Output!" />
</form>
 
<br />
<br />
 
<h1 style="color: green" >FORM 2</h1>
<form id="form_2">
<input type="text" id="teg_3" placeholder="text input 3" name="teg_name_3" value="" />
<br />
<br />
<input type="text" id="teg_4" placeholder="text input 4" name="teg_name_4" value="" />
<br />
<br />
<input type="submit" id="button_2" onclick="teg_list('input')" name="button_name_2" value="Output2!" />
<br /><br />
<h1 id="date_1" style="color: blue" ></h1>
<br /><br />
<h1 id="date_2" style="color: blue" ></h1>
</form>
</body>
</html>
Проблема такая что по нажатию страница перезагружаеться, и данные введенные теряються
как решить проблему передать с одной формы, другой товарищи ?
Ответ: Связь простая две формы
я ввожу в два поля в одной
текст

Код HTML5
1
2
3
4
5
6
<input type="text" id="teg_1" placeholder="text input 1" name="teg_name_1" value="" />
<br />
<br />
<input type="text" id="teg_2" placeholder="text input 2" name="teg_name_2" value="" />
 
<input type="submit" id="button_1" onclick="id_old_to_id_new('teg_1','teg_3')" onclick="id_old_to_id_new('teg_2','teg_4')" name="button_name_1" value="Output!" />
и жму кнопку где прописан скрипт передачи
Код Javascript
1
2
3
4
5
6
7
function id_old_to_id_new (id_old, id_new)
{
* * var olds=document.getElementById(id_old).value;
var news=document.getElementById(id_new).value;
news.value=olds.value;
*alert('Данные переданы!');
}
в кнопке есть реакция где я ввожу эту функцию
Код HTML5
1
onclick="id_old_to_id_new('teg_1','teg_3')" onclick="id_old_to_id_new('teg_2','teg_4')"
и должно по id
передать второй форме

Добавлено через 22 минуты
вот вторая форма , поля в котрые должны попасть данные с первой формы
по id

Код HTML5
1
2
3
4
5
6
<input type="text" id="teg_3" placeholder="text input 3" name="teg_name_3" value="" />
<br />
<br />
<input type="text" id="teg_4" placeholder="text input 4" name="teg_name_4" value="" />
<br />
<br />
Добавлено через 5 минут
Проблема такая , ввел данные в два поля , в первой форме, нажал на кнопку Output! первой формы
данные во вторую, в поля второй формы не передались
даже код скрипта был правильный , даже такого типа
Код Javascript
1
2
3
4
5
6
7
8
9
function id_old_to_id_new (id_old, id_new)
{
    var olds=document.getElementById(id_old).value;
   
    document.getElementById(id_new).value=olds;
   
   //news.value=olds.value;
 alert('Данные переданы!');
}
данные с поля старого id перелетали в новый id нового поля
но проблема в том что , только скрипт выполнил свою передачу
по нажатию выполнилась перезагрузка страницы
и данные потерялись (((((

Добавлено через 1 минуту
Проблема со скриптом , его надо улучшить , чтоб страница не перезагружалась
Вопрос: Client-side валидация в spring-формах и управление кнопкой submit'а

Привет всем!

Волею судеб занимаюсь поддержкой портального решения, написанного другими людьми, традиционно на текущий момент недоступными для консультации. Портал написан на Java с использованием Spring MVC и Spring Forms . В целом общее представление о том как Spring MVC работает имею, даже получается какой-то функционал допиливать и расширять, но некоторые вопросы ставят в тупик, даже не знаю куда копать. Итак, имеются spring-формы у которых задана валидация - как client-side, так и на сервере, например такой конструкцией:

        <div class="control-group">
            <form:label path="firstName" cssClass="control-label">Имя <common:requiredMark/></form:label>
            <div class="controls">
                <form:input path="firstName" required="required"
                            pattern="[- А-Яа-яЁё]+" title="Разрешены только буквы русского алфавита"
                            cssClass="input-xxlarge" maxlength="255"/>
                <form:errors path="firstName" cssClass="help-inline" cssStyle="color: red;"/>
            </div>
        </div>


Соответственно, для текстового поля form:input задана валидация на обязательность и возможный набор символов, которая выполняется при submit'е до отправки формы на сервер. Также на форме используется блокировка кнопки submit'а для того чтобы не возникало двойной отправки, если сервер тупит, а пользователь нетерпеливо тыкает в кнопку, типа того:

<script type="text/javascript">
    (function() {
        $('#submit-btn').click(function() {
                $('#submit-btn').attr('disabled', 'disabled');
                $('form#myDto').attr('action', '<%= Url.CREATE_REQUEST %>');
                $("#myForm [type=submit]").click();
        });


В принципе, если все хорошо, то это работает корректно - кнопа дизейблится, форма отправляется, далее выполняются проверки на стороне сервера и, если есть ошибки, они отображаются в элементах form:errors. А вот если не проходит client-side валидация, то ошибки валидации отображаются, но кнопка сабмита остается неактивной (оно и понятно, выключить ее мы выключили, а вот включить - не включали). Но совершенно непонятно куда можно добавить включение кнопки, если валидация не выполнилась. А точнее, как я понимаю более правильное решение - выключать кнопку сабмита нужно после того как прошла валидация на клиенте, но как это перехватить - я не понимаю, так как явных функций валидации нигде не объявлено, вся валидация на клиенте исключительно прописана атрибутами spring-формы, типа "required". Пробовал вставлять что-то типа if ($('#form').isValid()), но js ругается, что подобного метода у объекта нет.

Куда, вообще, копать-то? Заранее всем спасибо!
Ответ: Разобрался, принудительную валидацию можно вот таким образом выполнить:


        $('#create-btn').click(function() {
            var form = document.getElementById("createForm");

            if (form.checkValidity()) {
                $('#create-btn').attr('disabled', 'disabled');
                $('form#MyDto').attr('action', '<%= Url.CREATE_REQUEST %>');
            }
            $("#createForm [type=submit]").click();
        });
Вопрос: PHP БД отправка данных в phpmyadmin после нажатия кнопки ajax submit

Как отправить данные в БД (из input) после нажатия кнопки submit ajax?
(Данные отправляемые в БД
PHP
1
2
3
4
5
6
7
8
9
10
$user = R::dispense('users'); 
        
        $user->id=$_SESSION['logged_user']->id;
        $user->password =$_SESSION['logged_user']->password;
        $user->v =$data['v'];
        $user->r =$data['r'];
        $user->v =$data['v'];
        $user->k =$data['k'];
       
        R::store($user);
)

Добавлено через 3 часа 34 минуты
Всё, сам спросил сам и ответил.
Ответ:
Сообщение от PATRONWAR
сам спросил сам и ответил.
напишите решение своей задачи, не поленитесь, кому то да пригодится.
Вопрос: Как сделать так, что бы после нажатия кнопки изображение исчезало

Как сделать так, что бы после нажатия кнопки ("Спрятать изображение") изображение исчезало, а после нажатия на другую ("Показать изображение") кнопку снова появлялось с первого.

Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Image1: TImage;
    Image2: TImage;
    Button1: TButton;
    Image3: TImage;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
          If Image1.Visible Then
  Begin
    Image1.Visible := False;
    Image2.Visible := True;
  End
Else
  If Image2.Visible Then
    Begin
      Image2.Visible := False;
      Image3.Visible := True;
    End
  Else
    Begin
      Image3.Visible := False;
      Image1.Visible := True;
    End;
 
begin
Button2.Enabled:=True;
end;
 
end;
 
end.
Ответ:
Сообщение от Kypeli
как сделать так, что бы после нажатия на Кнопку ("Показать Фотографию"), ее название менялось на ("Показать Следующую").
А это тебе домашнее задание по теме. Попытайся включить свой мозг.

Не по теме:

P.S. На один вопрос из песочницы я иногда даю код. Но на два подряд из одной и той же песочницы - это перебор!

Вопрос: Проверка условия после нажатия на Submit

Неожиданно столкнувшись с трудностями при написании условия в случае успешного выполнения запроса, решил подойти с другой стороны к этому вопросу.
Можно ли сделать проверку условия после нажатия на Submit?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form name="myForm" id="myForm" action="" method="post">
  <input type="text" name="login" value=""><br>
 
    <select name='city'>
    <?php while($city = mysql_fetch_assoc($result)):?>
    <option value="<?=$city['id']?>"><?=$city['name']?></option>
    <?php endwhile?>
    </select>
    
    <input type="submit" name="Knopka" />
</form>
<?php
$strSQ = "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')";
    
    mysql_query($strSQ) or die(mysql_error());
?>
Нажатием на "submit" идёт отправка данных в бд. Можно ли сделать что бы если нажали на кнопку, и в случае успешного добавления в БД, то выводилось надпись "успешно"? Или с submit такого сделать нельзя?

Добавлено через 7 минут
Вот написал :
PHP
1
2
3
4
5
if (isset($_POST['Knopka'])) {
    // запись в бд
    echo "все ок";
}
?>    
Сработало нормально. Минус- надпись остаётся, т.е. один раз данные добавил и она висит до перезагрузки страницы
Ответ:
PHP
1
2
3
4
5
if (isset($_POST['Knopka'])) {
    "INSERT INTO user(name, city) values 
            ('" . $_POST["login"] . "', '" . $_POST["city"] . "')"; 
    echo "все ок";
}
У вас и не могло ничего добавиться...содержимое запроса есть, а где mysqli_query()?)))
Вопрос: PHP переадресация после нажатия кнопки

Здравствуйте!
на сайте есть поля для регистрации,после нажатия кнопки ЗАРЕГИСТРИРОВАТСЯ,идет процедура записи данных в БД в таблицу userdb, как еще сделать так чтобы шла переадресация на новый php(типа личного кабинета)
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
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<!DOCTYPE HTML>
<html lang="ru">
<head>
<meta charset="utf-8"/>
<title>
Інформаційні технології в моделюванні
</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="personal">
        <a href="#" id="b">Увійти</a>
        <a href="main.php" id="c">Реєстрація</a>
    </div>
    <div class="underlogo">
                <p> Lorem <span>---</span></p>
                </div>
    
     <div class="topbar">
      <hr>
     </div>
     <div class="mnuicon">
     <a href="#"><img src="img/mnu.png" alt="mnu"></a>
     </div>
     <div class="maaaa">
     <!--<marquee id="mar">Lorem</marquee> -->
     </div>
        
                <div class="logo">
                <p><a href="#">Інформаційні<span> технології</span><br>в моделюванні</a></p>                
                </div>
                <marquee behavior="alternate" id="m">Всеукраїнська науково-практична конференція студентів,аспірантів та молодих вчених</marquee>
                <div class="niko">
                <h3>
                 Lorem</h3>
                </div>
<div class="mainmenu">
<ul>
<li><a href="index.html">Головна</a></li>
<li><a href="komitet.html">Комітет</a></li>
<li><a href="vymogy.html">Вимоги</a></li>
<li><a href="vnesok.html">Внесок</a></li>
<li><a href="contacts.html">Контакти</a></li>
</ul>
</div>
        <div class="big">
        <img src="img/Q.png" alt="студенти">
        <img id="sec" src="img/komp.png" alt="Кафедра">
        </div>
<?php
    $conn=mysql_connect("localhost","admin","ustenkokvasha");
    if(!$conn){
        die("proval :" .mysqli_error());
    }
    $db_select=mysql_select_db("konf");
    if(!$db_select){
        die("proval:" .mysqli_error());
    }
    
    if(isset($_POST['submit']))
    {
        $login=$_POST['login'];
        $password=$_POST['password'];
        $r_password=$_POST['r_password'];
        
    }
    
    
    
    if($password == $r_password)
    {
    mysql_query("INSERT INTO userdb (login,password,r_password) VALUES ('$login','$password','$r_password')");
 
    }
    else{
        echo "\nПароли не совпадают";       
    }
?>
<div class="reestr">
<br>
<form id="form" method="post" action="work.php">
Логін:<br>
<input type="text" name ="login" /><br>
Пароль:<br>
<input type="text" name ="password" /><br>
Повторити пароль:<br>
<input type="text" name ="r_password" /><br>
<br>
<input id="sub" type="submit" name ="submit" value="Зареєструватися"/><br>
<br>
 
 
<?php
 
    echo"Все поля обязательны к заполнению*";
 
?>
</form>
</div>
 
<!---->
 
<div class="footer">
    <p><span>Dev: </span> Lorem</p>
    <br>
    <p> Lorem<span> Lorem</span></p>
    <!--SHETCHIK-->
    <div class="count">
    <div id="qoo-counter">
<a href="http://qoo.by/" title="Сервис коротких ссылок">
<img src="http://qoo.by/counter/standard/002.png" alt="Укоротить ссылку">
<div id="qoo-counter-visits"></div>
<div id="qoo-counter-views"></div>
</a>
</div>
<script type="text/javascript" src="http://qoo.by/counter.js"></script>
</div>
</div>
 
</body>
</html>
Ответ: miketomlin, по завершению скрипта, соединение через mysql_connect само закроется.
exit() в данном случае можно добавить, а можно и не добавлять, особой разница не будет. Конечно нет смысла выполнять дальнейший скрипт после header, но здесь это не играет важной роли
Вопрос: Выполнение серверного кода после нажатия кнопки «Назад» в браузере

Добрый день.

Проблема в целом далеко не новая, но элегантного решения для своего случая пока не нашёл. Дело в том, что отображение нескольких блоков на сайте напрямую зависит от значений cookies. Во многих случаях работа с cookies (чтение/запись) происходит на стороне сервера (PHP). При нажатии кнопки «Назад» в браузере серверный код, естественно, не выполняется, и посетителю показывается устаревшая версия страницы. Сейчас мне приходится писать кучу JS-функций, которые тупо дублируют работу серверной части с cookies, т. к. JS отрабатывает после нажатия кнопки «Назад».

Хотелось бы использовать более красивое решение. Может у кого-то есть варианты?
Ответ:
Сообщение от Fart83
все зависит от вашего веб-приложения
Естественно ) У меня JS вызывается после полной загрузки страницы, поэтому и будет задержка (уже проверял, где-то 100 мс — я глазом успеваю заметить). Делать эту работу на сервере — идеальный вариант, но в данном случае он частично недоступен.