Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод значений в зависимости от Select (https://javascript.ru/forum/misc/70575-vyvod-znachenijj-v-zavisimosti-ot-select.html)

Александр83 09.10.2017 18:26

есть еще
<div id="proso_engine_01"><a target="_blank"></a></div>// вывод ссылки
<input type="text" id="proso_engine_02"/> // вывод цены

Александр83 10.10.2017 11:03

неужели не кто не поможет?, или задача настолько не посильна(

Dilettante_Pro 10.10.2017 11:48

Александр83,
Не столько непосильна, сколько непонятна

Nexus 10.10.2017 11:58

Цитата:

Сообщение от Александр83
нужно записать в переменную значение цены то есть price-engine="100" в <?php echo $_GET['engine_php'];?> без кнопки и перезагрузки, как это сделать подскажите пожалуйста (желательно без ajax).

Если атрибут "price-engine" заполняется сервером и не меняется в процессе жизни страницы, то можно воспроизвести код для генерации этой страницы и получить оттуда нужное значение.
Ни перезагрузки, ни ajax'а в этом случае не будет.
Также это значение можно записать, например, в сессию и извлечь, когда появится необходимость.

Александр83 10.10.2017 12:04

document.querySelector('#proso_engine').onchange = function() {
        var a = document.querySelector('#proso_engine_01 a');
        a.href=this.value;
        a.textContent=this.value!='0'?'ссылка на объект':'';
        document.querySelector('#proso_engine_02').value = this.options[this.selectedIndex].getAttribute('price-engine');
   };

<form method="get" action="" name="form_engine">
<select width="100%" id="proso_engine" name="engine_php">
<option value="0" title="" price-engine="0">нет выбранного</option>
<option value="https://ссылка.рф" title="" price-engine="100" product="Имя продукта">Имя продукта&nbsp;-&nbsp; 100 &nbsp;руб.</option>
// и таких полей много....
</select>
</form>


нужно в скрипт сохранить метод GET формы по свойству price-engine и вывести его в переменную $ak_form_engine // переменная php

Дописать в существующем JS вроде по примеру document.getElementsByName("form_engine")[0].submit()"

Александр83 10.10.2017 12:07

Nexus,
нет сервером он не заполняется / / этот атрибут пустой

Nexus 10.10.2017 12:14

Цитата:

Сообщение от Александр83
нужно в скрипт сохранить метод GET формы по свойству price-engine

Переведите, пожалуйста :)

Без ajax'а или перезагрузки страницы данные на сервер не передать.
$.get('Адрес php-скрипта',{'price-engine':'100'});

Александр83 10.10.2017 12:29

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

Nexus 10.10.2017 12:46

Александр83, я сумел вас понять, сразу нужно было так написать.
price-engine - не свойство, а атрибут элемента.
Строка, которую я написал ранее - это "полная команда", которая немедленно отправит на сервер запрос методом GET. Требует наличия библиотеки jQuery.

Без jQuery:
var xhr=new XMLHttpRequest(),
	URL='Адрес php-скрипта',
	data={
		'price-engine':'100'
	};
	
var http_params=[];
for(var key in data){
	if(data.hasOwnProperty(key))
		http_params.push(encodeURIComponent(key)+"="+encodeURIComponent(data[key]));
};
URL+='?'+http_params.join("&");
  
xhr.open('GET',URL,true);
xhr.send();

https://learn.javascript.ru/ajax-xmlhttprequest

Александр83 10.10.2017 12:57

спасибо, попробую


Часовой пояс GMT +3, время: 18:51.