С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/63: Рейтинг темы: голосов - 63, средняя оценка - 4.51
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537

изменить текст в value submit

03.05.2013, 21:53. Показов 13480. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть обработчик (php) формы обратной связи, во время отправления письма нужно заменить текст в кнопке Отправить на Подождите, ну и сделать ее не активной
PHP
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
// проверяем заполнение обязательных полей
if(isset($_POST['submit'])) {
    .............................
    .............................
// формируем письмо  
    else {
             $mess = '';
    $mess .= '<b>Ваше ФИО: </b>'.$_POST['input_name'][0].'<br>';
   .......................
   ......................
// отправляем письмо 
    if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
   
          echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"6; URL=?page=oplata_\">";
 }
       }
    }
?>
 
далее js не срабатывает
 
<script type="text/javascript">
  var name_input = document.getElementById('myButton')
  name_input.value="Подождите"
</script>
HTML5
1
<input type="submit" value="Отправить " id="myButton">
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2013, 21:53
Ответы с готовыми решениями:

изменить текст в value submit
Здравствуйте, как программно изменить текст в value submit &lt;input type=&quot;submit&quot; value=&quot;Отправить &quot;...

Как изменить метод с submit на button?
Доброй ночи, есть консоль, RCON управление сервером. Как заменить отправку команды (метод) submit на button?? Я делаю ajax форму,...

Как по нажатию кнопки submit формы скопировать текст из textarea в буфер обмена?
Можно по нажатию кнопки submit формы скопировать текст из textarea в буфер обмена?

11
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
03.05.2013, 23:35
кнопка <input type="submit"> имеет своим главным предназначением произвести сабмит формы
т.е. вместо текущей страницы загрузить страницу, коя указана в атрибуте ACTION тега <form>

вы разве этого хотите?
нет, вы хотите, чтобы текущая страница никуда не девалась, а оставалась в окне браузера
и чтобы на ней чего-то менялось

так тогда зачем вы используете именно <input type="submit">?

ведь существует же аналогичная по внешнему виду кнопочка <input type="button">, которая ничего никуда перезагружать не будет,
а будет исполнять только то, что вы ей в инструкции по onclick напишете...
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537
04.05.2013, 00:58  [ТС]
kalabuni, ничего не понял, но сделал так:
HTML5
1
<input button type="submit" value="Отправить" onclick=this.value='Подождите'; >
Теперь при клике на кнопку выводятся (над формой) ошибки полей, если они есть, если нет – письмо отправляется, а value Отправить кратковременно меняется на Подождите.
Мне нужно чтобы текст на кнопке менялся после
PHP
1
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"6; URL=?page=oplata_\">";
т.е. когда письмо отправляется, текст на кнопке Подождите, будет 6 сек
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.05.2013, 01:22
вместо <input type="submit"> используйте <input type="button"> -- моё предложение
<input button type="submit"> -- ваше изобретение

давайте размещу одно под другим, может быть, наконец, сможете увидеть различия
HTML5
1
2
<input type="button">
<input button type="submit">
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537
04.05.2013, 02:40  [ТС]
kalabuni, теперь при клике на кнопку - value Отправить меняется на Подождите, но форма дальше не обрабатывается
HTML5
1
<input type="button" value="Отправить" onclick=this.value='Подождите'; name="submit">
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.05.2013, 04:55
я это для кого писал?
Цитата Сообщение от kalabuni Посмотреть сообщение
кнопочка <input type="button">, которая ничего никуда перезагружать не будет,
а будет исполнять только то, что вы ей в инструкции по onclick напишете...
написано чёрным по белому: не будет кнопка сама ничего делать
а будет делать только то, что ей прикажут

вы ей приказали что-то делать?
да, приказали сменить текст на кнопке - она и сменила

чем недовольны-то?
что-то ещё хотите?
так приказывайте - что именно надо сделать, она и сделает

PS. а без любимого словечка "submit" так и не обошлись
хоть куда-то -- пусть в совершенно ненужный в данном случае атрибут NAME, но засунули
зачем?
в WEB-программировании ВСЁ имеет свой смысл
вот ответьте на вопрос - зачем вам name="submit" в этой конструкции, хоть какой-то в этом смысл вы видите?
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537
04.05.2013, 07:37  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
вы ей приказали что-то делать?
я не знаю как
Цитата Сообщение от kalabuni Посмотреть сообщение
вот ответьте на вопрос - зачем вам name="submit" в этой конструкции, хоть какой-то в этом смысл вы видите?
отвечаю – пробовал разные варианты в решении задачи и атрибут name просто случайно здесь оказался (бывает такое)
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.05.2013, 07:47
например, так:
JavaScript
1
<input type="button" value="Отправить" onclick="this.value = 'Подождите'; alert ('Приказываю!')">
вместо alert ('Приказываю!') можете написать всё, что вам нужно/угодно
что вам нужно-то?
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537
04.05.2013, 08:08  [ТС]
kalabuni, вот полностью мой обработчик
PHP
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
<?
session_start ();
?>
<?php
    $YourMail = $_POST['input_name'][4];
if(isset($_POST['submit'])) {
    if(empty($_POST['input_name'][0])) $error[0] = 'Не заполнено поле: <font color="red">Ваше ФИО</font>';
    if(empty($_POST['input_name'][1])) $error[1] = 'Не заполнено поле: <font color="red">почтовый адрес</font>';
    if(empty($_POST['input_name'][2])) $error[2] = 'Не заполнено поле: <font color="red">паспорт</font>';
    if(empty($_POST['input_name'][3])) $error[3] = 'Не заполнено поле: <font color="red">номер телефона</font>';
    if(empty($_POST['input_name'][4])) $error[4] = 'Не заполнено поле: <font color="red">e-mail (на него придет счет)</font>';
    elseif(!preg_match("/^(?:[a-z0-9]+(?:[-_]?[a-z0-9]+)?@[a-z0-9]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i", trim($_POST['input_name'][4]))) {
                                       $error[5] = "Введенный вами адрес e-mail (<a href=\"mailto:$YourMail\" style=\"color: #0033FF; font-size: 12px;\">$YourMail</a>) <font color=\"red\">имеет неправильный формат</font>";
      } 
    if(empty($_POST['input_name'][5])) $error[6] = 'Не заполнено поле: <font color="red">марка автомобиля</font>';
    if(empty($_POST['input_name'][6])) $error[7] = 'Не заполнено поле: <font color="red">наименование товара</font>';
    if (empty($_POST['code']) or empty($_SESSION['code'])) $error[8] = 'Не указан <font color="red">код подтверждения</font>';
    elseif ($_POST['code'] != $_SESSION['code']) $error[9] = 'Неправильный <font color="red">код подтверждения</font>>';
    echo '<H3 style="padding: 10px 10px 10px 10px; text-align: center; font-size: 16px; font-weight: bold; color: #5B3E00;">Внимание!<br><br>'; 
    if(!empty($error)) {
        foreach($error as $err) {
            echo '<p style="padding: 0px 0px 3px 0px; text-align: left; font-size: 12px; font-weight: bold; color: #5B3E00;">'.$err.'<br>'; 
        }
     } 
    else {
             $mess = '';
    $mess .= '<b>Ваше ФИО: </b>'.$_POST['input_name'][0].'<br>';
    $mess .= '<b>Почтовый адрес: </b>'.$_POST['input_name'][1].'<br>';
    $mess .= '<b>Номер и серия паспорта, кем и когда выдан: </b>'.$_POST['input_name'][2].'<br>';
    $mess .= '<b>Номер телефона: </b>'.$_POST['input_name'][3].'<br>';
    $mess .= '<b>e-mail: </b>'.$_POST['input_name'][4].'<br>';
    $mess .= '<b>Марка автомобиля: </b>'.$_POST['input_name'][5].'<br>';
    $mess .= '<b>Наименование товара: </b>'.$_POST['input_name'][6].'<br>';
    $mess .= '<b>Дополнительная информация: </b>'.$_POST['input_name'][7].'<br>';
    $mess .= "<br>дата: ".date("Y-m-d")."\n"; 
    $mess .= "время: ".date("H:i");
require 'class.phpmailer.php';
    $mail = new PHPMailer();
    $mail->From = $YourMail;      
    $mail->FromName = $_POST['input_name'][0];   
    $mail->AddAddress('mail@rambler.ru', 'mails@rambler.ru'); 
    $mail->IsHTML(true);        
    $mail->Subject = 'выставить счет';  
    $mail->Body = $mess;
    if(isset($_FILES['attachfile'])) {
    if($_FILES['attachfile']['error'] == 0){
    $mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
       }
    } 
    if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
    else {
           echo 'Сообщение успешно отправлено!<br>через 5 секунд страница обновится автоматически';
          echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"6; URL=?page=oplata_\">";
                
          }
       }
    }
?>
Цитата Сообщение от kalabuni Посмотреть сообщение
что вам нужно-то?
во время отправления письма нужно заменить текст в кнопке Отправить на Подождите, ну и сделать ее не активной
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.05.2013, 08:59
не... вы не понимаете...
я попросил вас объяснить -- просто словами -- что вы хотите увидеть на странице после нажатия на кнопку с надписью "Отправить"?
то, что вы хотите увидеть изменение надписи на "Подождите" - это я понял...
ну а дальше?

сколько времени "ждать" надо?
и что потом должно случиться -- и программно, и визуально?
что после ожидания должен увидеть на странице пользователь?
--------

и мне уже надоело это разъяснять, но, видимо, карма такая...

думаю, что у вас есть брюки... ну или джинсы... есть ведь?
если я вас попрошу их мне показать, то вы как мне их продемонстрируете?
неужели вы вместо брюк принесёте мне показать швейную машинку и портниху, которая эти брюки в своё время сшила?

PHP - это портной язык, который на швейной машинке сервере шьёт формирует брюки HTML-код
и вот этот уже сшитый сформированный HTML-код отправляется в браузер
и вот с этим сшитым сформированным HTML-кодом работает javascript

так что, если в будущем захотите помощи по вопросам HTML, CSS, Javascript, то выкладывайте чистый HTML-, CSS- и Javascript-коды, без каких-либо PHP-вставок
т.е. вызовите файл из браузера, откройте в браузере "исходный код" и оттуда скопируйте
0
6 / 6 / 5
Регистрация: 19.09.2011
Сообщений: 537
04.05.2013, 10:04  [ТС]
kalabuni, я вам показал полностью свой php обработчик формы, (работоспособный) что он делает:
-проверяет на заполнение обязательных полей
- корректность введенного мыла
- формирует и отправляет письмо
Далее, когда страница перезагружается с интервалом 6 сек
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"6; URL=?page=oplata_\">
Вот в этот момент нужно чтобы текст на кнопке изменился на Подождите..
- страница перезагрузилась, соответственно текст на кнопке обратно Отправить
Ссылку на страницу отправил вам в личку
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
04.05.2013, 11:51
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от sashgera Посмотреть сообщение
я вам показал полностью свой php обработчик формы, (работоспособный)
вы можете представить себе: у меня на этом компе нет швейной машинки виртуального сервера с PHP-интерпретатором
я не могу запустить ваш PHP-код в своём браузере. чтобы посмотреть - чего и как там устроено
и что мне делать?
думаете, я один такой - без Денвера на компе?
уверяю вас - вы ошибаетесь... очень многие даже не знают, что это такое
------------

ну да ладно - выслали ссылку, вопрос снимается

1. начну с того, что я совершенно не понимаю - зачем вам постоянно рефрешить страницу?
имеется у вас на странице форма, заполнил её клиент, нажал "отправить", страница один раз перегрузилась, выдав какой-то из вариантов ("ошибка заполнения формы", "успешная отправка")
всё, ничего более от страницы не требуется

итак, зачем рефрешить?
какая "умная голова" это придумала?
или ваша зарплата напрямую зависит от нагрузки на сервер?
с моей точки зрения этот ваш "рефрешный вариант" - полная и беспросветная глупость

рефрешат страницу в исключительных случаях - когда необходимо постоянно отслеживать изменения данных на сервере и отображать эти изменения в режиме реального времени

2. обычная форма при нормальном интернет-соединении НЕ ТРЕБУЕТ никаких наворотов при сабмите,
потому что страница сразу перезагружается на результат - т.е. на то, что указано в атрибуте ACTION тега <FORM>

зайдите для примера на httр://google.com или на httр://yandex.ru - там же тоже формы
когда вы там жмёте на кнопку "Искать", надпись на кнопке разве меняется на "Подождите, мы ищем"?
нет, не меняется
ибо это - полный маразм, никому не нужный
в Гугле и Яндексе это понимают
вы же явно полагаете себя умнее всех, потому такую фигню и придумали

3. какие-либо предупреждающе надписи ("Подождите", "Идёт загрузка") имеют право на жизнь
и их много где применяют
но применяют их в тех случаях, когда страница НЕ перегружается вовсе, а когда используется технология получения данных БЕЗ ПЕРЕЗАГРУЗКИ, т.е. через объект XMLHTTPRequest (чаще всего в асинхронном варианте, называемом AJAX'ом)

нажал в этом случае пользователь кнопку - запрос ушёл на сервер, а на странице появляется надпись "Ждите"
когда пришел ответ с сервера, надпись снимается и часть страницы изменяется (добавляется ответ сервера)

делается это исключительно для того, чтобы показать юзеру, что его запрос начал исполняться, ведь страница та же, надо показать, что страница "живёт"

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

ну да ладно, если у вас нет более проблем, кроме как создавать идиотские страницы в сети, подсказываю:
HTML5
1
2
3
4
5
6
<input type="button"
       value="Отправить"
       onclick="this.value = 'Подождите';
                this.disabled = true;
                MFRM = this.form;
                setTimeout ('MFRM.submit ()', 6000)">
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2013, 11:51
Помогаю со студенческими работами здесь

Notice: Use of undefined constant submit - assumed 'submit' in
Скажите пожалуйста как сделать вот эту проверку? http://www.youtube.com/watch?feature=player_detailpage&amp;v=qFxUApU6104#t=766 А то у...

Изменить текст RadioButton на текст, считанный из файла
Как присвоить к radioButtonу переменную?

Ввожу текст в textarea, нажимаю Enter дальше пишу нажимаю Submit...
I vse chto ya vvel otpravlyau v FUNKCIU kotoraya poluchit etot text i v mestah gde ya najimal 'ENTER' vstavit . Kak eto mojno sdelat'

Как сделать чтобы текст в <input type="submit" переносился
&lt;input id=&quot;button_main_cat&quot; type=&quot;submit&quot; name=&quot;catbutton&quot; value=&quot;&lt;?php echo nl2br($item); ?&gt;&quot; /&gt; есть вывод категорий Стиль: ...

Расскажите пожалуйста идею, как реализовать чтобы по кнопке "изменить" любой текст сразу можно было изменить
Расскажите пожалуйста идею, как реализовать чтобы по кнопке &quot;изменить&quot; любой текст сразу можно было изменить. Ну вот например есть...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru