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

Всем привет. Народ, подскажите, пожалуйста - есть код

$(bg).find("[data-bme]").each(function() {
			var elTag = $(this)[0].nodeName.toLowerCase(); //prop("tagName");
			bc.push($(this).attr("data-bme")); // add field name

			switch (elTag) { // find value
				case "textarea": // textarea
					bo.push($(this).val());
					break;
				case "select": // selects
					bo.push($(this).find(":selected").text());
					break;
				case "input": 
					var elType = $(this).attr("type").toLowerCase(); // get input type
					switch (elType){
						case "text": // text fields
						case "hidden": // hidden values
						case "radio": // radio
							bo.push($(this).val());
							break;
						case "checkbox": // guess
							bo.push($(this).is(":checked") ? bmeData["txt.yes"] : bmeData["txt.no"]);
							break;
					}
					break;
				default: // div, span, p, etc.
					bo.push($(this).text());
			}
			
		});


Как сделать чтобы выбиралось значение именно нажатой радио кнопки. Сейчас на почту приходят значение всех радио кнопок. Пробовал писать в 18 строке - bo.push($(this).find(":checked").val()); - но так вообще ничего не приходит...
Ответ: Rise,
огромное Вам спасибо - теперь все работает
Вопрос: загрузить изображение по ссылке

Подскажите, как отправить изображение в формате multipart/form-data на сервер через JS?

У нас есть только ссылка на изображение!

Доступа к серверу НЕТ
Ответ:

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

На лицо несогласованность действий разработчиков frontend и backend
Вопрос: Как отправить и получить ответ от php через ajax?

Здравствуйте. Не совсем было понятно, где создавать тему (php или js). Если ошибся, приношу свои извинения.
Есть вот такая форма: . Данные в таблицу, которую вы лицезреете, записываются вот таким образом
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$query = "SELECT * FROM main ORDER BY id DESC";
$result = mysqli_query($link, $query);
 
if (!$result) {
    die(mysqli_error($link));
}
$n = mysqli_num_rows($result);
$articles = array();
for ($i=0; $i < $n; $i++) {
    $row = mysqli_fetch_assoc($result);
    $articles[] = $row;
}
return $articles;
А в html таблица выглядит вот так:
PHPHTML
1
2
3
4
5
6
7
8
9
10
<?php foreach($articles as $a): ?>
    <tr>
        <td class="formid"><?=$a['id']?></td>
        <td><?=$a['namenomer']?></td>
        <td><?=$a['datestart']?></td>
        <td><?=$a['dateend']?></td>
        <td><?=$a['nameclient']?></td>
        <td><?=$a['phoneclient']?></td>
    </tr>
<?php endforeach ?>
И вот всё это отлично работает. php обращается к бд, достаёт данные и выводит их в html.
Теперь вернёмся к форме . Если вы нажмёте на строку таблицы, то у вас откроется popup окно, где должны быть указаны подробные данные этой строки. Теперь вопрос. Как по ajax отправить значение id строки, на которую мы нажали, чтобы php потом сделал выборку по этому id, и затем вывел данные в popup? И как мне указать переменные?

Добавлено через 2 часа 2 минуты
Вот этот код
Javascript
1
2
3
4
5
var id = $(this).find('td:first-child').text();
  console.log(id);
  $.post('../admin/forajax.php', { "id": id }, function( data ) {
    $('.popup').html( data ); // для проверки
  });
Вернул мне вот такой текст
HTML5
1
array(1) { [0]=> array(10) { ["id"]=> string(1) "2" ["namenomer"]=> string(6) "xcvxcv" ["datestart"]=> string(10) "2016-11-16" ["dateend"]=> string(10) "2016-11-30" ["nameclient"]=> string(6) "xcvxcv" ["phoneclient"]=> string(9) "xcvxcvxcv" ["datebron"]=> string(10) "2016-11-17" ["timeofbron"]=> string(8) "07:26:28" ["type"]=> string(3) "xxc" ["pay"]=> string(3) "ccc" } }
Что мне теперь нужно сделать, чтобы ответ обрабатывался?
Javascript
1
2
$('.popformid').text(['id'])
$('.popformname').text(['namenomer'])
Что я должен указать вместо id и namenomer, чтобы получить 2 и xcvxcv?
Ответ: В вашем PHP-скрипте вам следует отдавать данные в формате JSON. Закодируйте выводимый массив с помощью функции json_encode(). Затем вы сможете доставать данные из data как из обычного объекта.
Javascript
1
2
$('.popformid').text(data.id);
$('.popformname').text(data.namenomer);
P.S. возможно вам придется применить функцию JSON.parse() к переменной data, прежде чем обращаться к ней как к объекту. А возможно и не придется.
Вопрос: Подставлять ссылку к кнопке

Здравствуйте!
Есть список с категориями (у каждой категории своя ссылка). После выбора категории попадаем на "второй шаг" - там, в том числе, есть кнопка "Далее". Так вот нужно что бы в значение ссылки этой кнопки попадала ссылка выбранной категории.

<!DOCTYPE html>
<html lang="ru">
	
	<head>
		<meta charset="UTF-8">
		<style>
		.section-services_pb {
  padding-bottom: 250px;
}

.section-services .services-step-two {
  display: none;
}

.section-services .services-step-two_active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.section-services .services {
  margin-bottom: 30px;
}
.section-services .services-link:hover {
  color: #fff;
}

.section-services .services-link_white {
  background: #fff;
  color: #0d75b9;
}

.section-services .services-link_white:hover {
  color: #0d75b9;
}

.section-services .select-row {
  border: none;
  padding-bottom: 0;
}
.section-services .service-tab {
  display: none;
}

.section-services .service-tab_visible {
  display: block;
}

.section-services .btn-wrap_alignment_left {
  margin-top: 50px;
}

.warning-text {
  color: #ff5956;
  margin: 30px 0 50px;
}

.services-step {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 50px;
}

.services-step img {
  -webkit-animation: rotate 2s infinite linear;
  animation: rotate 2s infinite linear;
  vertical-align: middle;
  margin-left: 67px;
}

.spinner {
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}

.spinner_hidden {
  opacity: 0;
}

.jq-radio {
  background: #fff;
  border: 1px solid #181818;
  width: 10px;
  height: 10px;
}

.jq-radio.focused {
  border: 1px solid #181818;
}

.jq-radio.checked .jq-radio__div {
  width: 4px;
  height: 4px;
}
		</style>
	</head>
	<body>
		
		<section class="section-services section-services_pb pt-js">
			<div class="wrapper">
				<div class="services-step">ШАГ 1 - выберите категорию услуг, которая вас интересует:</div>
				<div class="services">
					<div class="services-item services-item_overall-cargo">
						<div class="services-item__title">Перевозка габаритных грузов</div>
						<div class="services-item__hover-content">
							<a href="/link1" class="services-link btn-two btn-two_blue">Выбрать</a>
						</div>     
					</div>
					
					<div class="services-item services-item_oversized-cargo">
						<div class="services-item__title">Перевозка негабаритных грузов</div>
						<div class="services-item__hover-content">
							<a href="/link2" class="services-link services-link_white btn-two btn-two_blue">Выбрать</a>
						</div>
					</div>
					
					<div class="services-item services-item_temperature-mode">
						<div class="services-item__title">Перевозка с температурным режимом</div>
						<div class="services-item__hover-content">
							<a href="/link3" class="services-link btn-two btn-two_blue">Выбрать</a>
						</div>
					</div>
					
					<div class="services-item services-item_dangerous-goods">
						<div class="services-item__title">Перевозка опасных грузов</div>
						<div class="services-item__hover-content">
							<a href="/link4" class="services-link services-link_white btn-two btn-two_blue">Выбрать</a>
						</div>
					</div>
					
					<div class="services-item services-item_special-transport">
						<div class="services-item__title">Перевозка спецтранспортом</div>
						<div class="services-item__hover-content">
							<a href="/link5" class="services-link btn-two btn-two_blue">Выбрать</a>
						</div>
					</div>
					
					<div class="services-item services-item_partial-load">
						<div class="services-item__title">Перевозка догрузом</div>
						<div class="services-item__hover-content">
							<a href="/link6" class="services-link services-link_white btn-two btn-two_blue">Выбрать</a>
						</div>
					</div>
				</div>
				<div id="step2" class="services-step">ШАГ 2 - выберите тоннаж и тип требуемого транспорта:</div>
				<div class="select-row services-step-two">
					<div class="select-row__item">
						<div class="field-title">Тоннаж:</div>
						<select >
							<option>Выберите тоннаж</option>
							<option>5 тонн</option>
							<option>7 тонн</option>
							<option>10 тонн</option>
							<option>20 тонн</option>
						</select>
					</div>
					<div class="select-row__item">
						<div class="field-title">Тип автомобиля:</div>
						<select >
							<option>Выберите тип автомобиля</option>
							<option>Тентованный</option>
							<option>Бортовой</option>
							<option>Изотермический</option>
							<option>Рефрижиратор</option>
						</select>
					</div>
					<!-- вот сюда нужно ссылку подставлять -->
					<div class="btn-wrap_alignment_left"><a href="/mylink" class="btn-two btn-two_blue">Далее</a></div>
				</div>
			</div>
		</section>
		
		<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
		<script>
			if($('.services-link').length) {
				
				$('.services-link').click(function(e){
					e.preventDefault();
					$('.section-services').removeClass('section-services_pb');
					$('.services-step-two').addClass('services-step-two_active');
					$('.spinner').addClass('spinner_hidden');
					
					$('html,body').stop().animate({ scrollTop: $('#step2').offset().top - 150 }, 1000);
					e.preventDefault();
					$('.services-item').removeClass('active');
					$(this).parents('.services-item').addClass('active');
					return false;
					
				});
				
			}
		</script>	
	</body>
	
</html>
Ответ: Igorsrt,
лучше конечно чтобы страницу сразу формировал сервер, и GET для это идеален.
но если хотите заморочек то вот пожалуйста
сохраняйте, потом доставайте, отправляйте и фильтруйте

Вопрос: помогите понять значения padding

есть у меня меню:

<nav>
<ul>
<li>
<a></a>
</li>
<li>
<a></a>
</li>
</ul>
</nav>


и есть стили для а:
padding: 20% 0 !important;
при этом я получаю значения паддинга в 68px и значение ссылки в 66px

вопрос:

от чего рассчитываются эти 20% что я получаю 68 пикселей, если ul имеет height:auto, а у li height не задано?

nav имеет фиксированую высоту...



Ответ: Забыл залогиниться перед отправкой сообщения(
Вопрос: Сделать стилизованный список ссылок

Как создать кнопку или ссылку на странице сайта, при на ведении стрелкой мышки будет выскакивать список ссылок?
Если можете приведите пример. За ранее спасибо.
Ответ: Создание кнопки для сайта используя тег html <button>.


Если перед вами стоит задача сделать кнопку для своего сайта, тогда этот урок вам в помощь.

Для того чтобы на сайте появилась кнопка можно воспользоваться html тегом <button>.

Данный тег имеет расширенные возможности. С его помощью вы можете сделать не просто кнопку, а КНОПКУ.

Объясняю.

Тег <button> позволяет применять к себе различные стили CSS. C их помощью вы можете менять фон, добавлять границу, изменять шрифт. И более того, он позволяет в качестве кнопки использовать изображение. Для этого в него достаточно поместить тег рисунка <img>.

Вот как выглядит данный тег:

HTML5
1
<button>название для кнопки</button>
А так он выглядит с картинкой внутри:

HTML5
1
<button><img src="адрес картинки "></button> 
Выше мы рассмотрели простую кнопку. Но часто возникает необходимость отправлять результат нажатия по кнопке на сервер для дальнейшей обработки. В таком случае тег <botton> помещают в контейнер формы <form>.


Вот так:

HTML5
1
2
3
<form>
<button>название для кнопки</button>
</form>

С тегами разобрались, переходим к параметрам кнопки.


Параметры button

disabled - блокирует кнопку. Она становится недоступной и по ней невозможно нажать.

HTML5
1
<button disabled>Неактивная кнопка</button>
Пример:


HTML5
1
2
3
4
<form action="/html/button.html"> 
<div><button>Активная кнопка</button></div>
<div><button disabled>Неактивная кнопка</button></div>
</form>

type - определяет тип кнопки. По внешнему виду их не отличить, но по функциям они разные:

HTML5
1
<button type="button | reset | submit"> название кнопки </button>

- обычная кнопка (button)
- кнопка для подтверждения и отправки данных формы на сервер (submit)
- кнопка для очистки заполненной формы (reset)

Пример:

HTML5
1
2
3
4
5
<form action="file.php">
<div><button type=" button">Кнопка</div>
<div><button type="reset">Очистить </div> 
<button type="submit">Отправить </button></p>
</form>


value - этот параметр задает значение кнопки, которое затем отправляется на сервер или обрабатывается с помощью сприптов. Оно может совпадать с названием кнопки, а может и не совпадать. Значение передается на сервер в паре с именем кнопки. Для имени используется параметр name.

HTML5
1
<button name="hidden" value="значение кнопки">название кнопки</button>
Пример:

HTML5
1
2
3
<form action="file.php">
<div><button value="send" name="hidden" type="submit">Отправить </button></div>
</form>


Такая вот она, кнопка для сайта.
Вопрос: Как получить значение из javascript в php?

Всем доброго времени суток!
Стоит задача: получить текущий остаток секунд из javascript в php.
Имеется форма, на которой расположено скрытое поле и кнопка(Отправить(submit))
HTML5
1
2
<input type="hidden" name="time" value="">
<input id="complete" type="submit" name="complete" class="btn" value="Завершить тестирование">
Пытаюсь сделать это следующим путем
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function countdown(sec) {
            var completeTest = document.getElementById('complete');
            var hidden = document.getElementsByName('time');
 
            var a=setInterval(function() {
                sec--;
                if (sec==0) {
                    completeTest.click();
                    clearInterval(a);
                }
                else
                {
                    hidden.value = sec;
                }
            },1000);
        }
 
        countdown(<?= $time; ?>);

Далее пытаюсь получить значение в php
PHP
1
2
3
4
if(isset($_POST['time']))
{
   $time = $_POST['time'];
}
Но не выходит. Потому-что значение в input type='hidden' не меняется почему-то
Что-то пошло не так... Но что?
Ответ: Ого. Вот это ответ.
Опан, я не написал тэги формы, т.к. думал, что и так понятно, что инпуты я использовал внутри (Но спасибо, что дописали).
Сообщение от Опан
В пятых, метод getElementsByName() в отличии от getElementsById() возвращает ссылку на все теги с заданным name в виде массива, а если тег с таким name только один, то его получать следует так:
JavascriptВыделить код
1
var hidden = document.getElementsByName('time')[0];
Предполагалось, что форме будет один элемент с данным именем и про getElementsById() я знал. Но всё равно спасибо за полезный совет, впредь буду его придерживаться.
Использую и данное действие у меня обрабатывается в модели. Поэтому в модели не использую команды вывода типа echo, print и т.п.
Мне нужен был принцип, как это сделать.
Сообщение от Опан
Прежде всего Вы пытаетесь получить начальное время из переменной PHP, в которую потом нужно будет загнать остаточное время. Это - замкнутый цикл. В отличии от вопроса с курицей и яйцом, в функцию countdown нужно отправить конкретное число, на пример 10.
- естественно у меня разные переменные . Да и в общем-то я уже нашел выход с данной ситуации путем написания трех javascript функций
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
29
30
31
32
var nowTime = <?= $time; ?>;
        var t;
        var timer_is_on=0;
 
        function timedCount()
        {
            document.getElementById('time').value = nowTime;
            if(nowTime > 0)
            {
                nowTime--;
            }
            else if(nowTime == 0){
                stopCount();
                document.getElementById('complete').click();
            }
            t=setTimeout("timedCount()",1000);
        }
 
        function doTimer()
        {
            if (!timer_is_on)
            {
                timer_is_on=1;
                timedCount();
            }
        }
 
        function stopCount()
        {
            clearTimeout(t);
            timer_is_on=0;
        }
Спасибо, что отозвались.
Вопрос: Получение значений атрибутов элемента, над которым произошёл event

Есть множество ссылок типа
HTML5
1
<a href='#'  class='btn btn-block btn-large btn-success modal_btn' data-somevalue1='1'>$newtime</a>
Каждая такая ссылка открывает одно и тоже модальное окно
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="box-modal" id="small-modal">    
      <div class="modal-close arcticmodal-close">x</div>
        <div class="modal-content-box">
          <b>Обратная связь</b>
          <p>Укажите свои данные и наши оператор свяжется с Вами в ближайшее время!</p>
          <form action="?addman" method="POST" name="form-1">
            <div class="input-prepend">
              <span class="add-on"></span>
              <input class="input-medium1" name="name" type="text" placeholder="Ваше имя">
            </div>
            <div class="input-prepend">
              <span class="add-on"></span>
              <input class="input-medium2" name="tell" type="text" placeholder="Ваш телефон">
            </div>
            <input type="submit" value="Добавить" class="feedback btn btn-block btn-success"  id="knopka">
          </form>
        </div>
      </div>
Подскажите как с помощью
Javascript
1
$('.modal_btn').click(function(e) 
можно вытащить данные из атрибутов ссылки и отправить их вместе с формой модального окна.
В JQ, Ajax и jQuery разбираюсь очень плохо. Кто чем может помогите!
Ответ: Не знаю поможет ли .. ноооо....
Я так понял вы знаете как выбирать значение элементов но не знаете как передать их php
Вот так -
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$.ajax({
            url: "action.php", // путь к обработчику
            type: "POST", // метод передачи данных
            data: ({var1: "go", var2: number}), // передаваемые данные (имя переменной=>значение) через запятую
            dataType: "html", // ожидаемый тип данных
            beforeSend: funcB, // функция работает во время передачи и получения ответа
            success: funcA // функция сработает после получения данных
        });
 
function funcB() {
 
}
 
function funcA(data, d) {
// в data данные от сервера
}
Вопрос: Условие: Если у кнопки значение "отправить", то вывести какое-либо уведомление.

Добрый день. Есть такой код:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<button class="send">Отправить</button>
<script>
            if ('.send' == 'Отправить')
{
    $(function() {
                alert ('Смотрите');
            });
}
else
{
    $(function() {
                alert ('Ой что то не так);
            });
};
        </script>
Не могу разобраться как сделать так, чтобы если у кнопки значение "отправить", то вышло какое либо уведомление. Кто знает, найдите мою ошибку...
Ответ:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<button class="send">Отправить</button>
<script>
$('.send').on('click', 'button', function(){
    if($(this).text()=='Отправить') {
            $(function() {
                alert ('azaza');
            });
    } else {
           $(function() {
                alert ('ololo');
            });
    }
});
</script>
Вот что у меня вышло, но при этом alert не срабатывает, и нажатие на кнопку не нужно, главное просто чтобы если у кнопки значение "отправить", то вышло уведомление получилось если что то другое, то не вышло

Добавлено через 1 час 28 минут
Все нашел, вот выглядит код который мне нужен. Спасибо вам большое

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<button class="send">Отправиь</button>
<script>
 
    if($('.send').text()=='Отправить') {
            $(function() {
                alert ('azaza');
            });
    } else {
           $(function() {
                alert ('ololo');
            });
    }
 
</script>
Вопрос: Кнопка/ссылка

Всем привет. вопрос простой для 99,9% из Вас. А для меня третий час мучений). Есть кнопка "отправить", при нажатии которой отправляется определенная информация на почту. к этой кнопке надо прикрепить ссылку на переход на другую страницу сайта. У меня получаются следующие варианты: 1. либо вместо кнопки появляется строка подчеркнутое слово "отправить", при нажатии на которое и в почту информация приходит, и на другую страницу переходит. 2 только переход на страницу без отправки письма в почту.
HTML5
1
2
3
4
5
6
7
8
9
10
<div class="b-popup-bottom success-hide">
<button class="b-btn b-btn_blue" type="submit">Отправить</button>
<a href="http://http://abcdef.ru/success/"></div></form>
<div class="mfp-loader"><div class="spinner g-middle">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div></div></div>
Что сделать?
Ответ: Gromoff, это ветка html, а не php... Вы отправляете данные на сервер при помощи обработчика, то есть грубо говоря осуществляете запрос на обработку данных, а потом вдогонку пытаетесь отправить второй запрос на перенаправление... Сервер Вам отвечает, что модифицировать заголовок первого запроса он не собирается... Далее смотрите, то что я написал в посте #6... Компетентную помощь в правильном написании редиректа Вы можете получить на ветке , а то я Вам сейчас помогу, что полсайта отвалиться...