Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не понимаю как вывести селект (https://javascript.ru/forum/dom-window/51371-ne-ponimayu-kak-vyvesti-selekt.html)

greenbuger 05.11.2014 00:56

Не понимаю как вывести селект
 
Не могу додумать как вывести значение выбранной select option, выбирается только после перезагрузки, а мне надо в аякс отправить переменную

<select name="name" id="name_select" >
<option value="1"> один</option>
<option value="2">два</option>
</select>

мне просто нужно определить переменную с выбранного option

ksa 05.11.2014 10:08

Цитата:

Сообщение от greenbuger
мне надо в аякс отправить переменную

Используй событие onchange...

greenbuger 05.11.2014 13:16

Вот код, когда names вывожу через document.write, все работает, а когда так делаю выдает ошибку:

TypeError: document.this is undefined

Извиняюсь, язык учу пару дней только
<form name="getdate">
<select name="reldate"  id="reldate">
<?php
$query = ("SELECT * FROM af_page group by  af_date");
$result = mysql_query($query);
$row = mysql_num_rows($result);
if($row>0){
while ($row = mysql_fetch_assoc($result)){
    $af_id = $row['id'];

    $af_text = $row['af_god'];
    $af_mesac = $row['af_mesac'];
    $af_day = $row['af_day'];
    $af_img = $row['af_img'];
    $af_god = $row['af_god'];
    $fulldate = $af_day . $af_mesac . $af_god;
echo '<option onchange = "this.value" onclick="geval();" value="'.$fulldate.'">'.$fulldate.'</option>';

  }}

?>
</select><script>


 function geval() {


  var names = document.getdate.reldate.value;
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
	var req = getXmlHttp()  
       var fulldate = document.this.value.fulldate
    
	var statusElem = document.getElementById('vote_status') 
	
	req.onreadystatechange = function() {  
 

		if (req.readyState == 4) { 
      

			statusElem.innerHTML = req.statusText;

			if(req.status == 200) { 
              
				statusElem.innerHTML = req.responseText;
			}
		
		}

	}
	req.open('GET', '../test/af_add.php?names='+names, true)
req.send('null');
      
	statusElem.innerHTML = 'Ожидаю ответа сервера...' 
}
</script>
</form>

ksa 05.11.2014 13:23

greenbuger, для начала сделай нормальный ХТМЛ пример...

greenbuger 05.11.2014 13:34

да все нашел ошибку)) просто учу быстро 24 часа уроков, так сказать блицкриг )))) лишние значение вставил, и удалить забыл в 46 строке, спасибо тебе ksa, как всегда помог. +

greenbuger 05.11.2014 14:49

А теперь вопрос на засыпку, работает только в FireFox в других селект не робит

ksa 05.11.2014 14:54

Повторюсь...
Цитата:

Сообщение от ksa
для начала сделай нормальный ХТМЛ пример...


greenbuger 05.11.2014 15:59

А подсказать можешь ошибку, или ссылку хотя бы дать, куда мне идти читать ?

ksa 05.11.2014 16:48

greenbuger, так я примера невижу... По чему именно давать совет?


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