Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2009, 14:13
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35

Star Rating
Здраствуйте.
Помогите как-то передать значение рейтинга в аякс для передачи на обработчик на пхп.
вот звездочки
<div class="Clear">
    <input class="star" type="radio" name="test" value="1"/>
    <input class="star" type="radio" name="test" value="2"/>
    <input class="star" type="radio" name="test" value="3"/>
    <input class="star" type="radio" name="test" value="4"/>
    <input class="star" type="radio" name="test" value="5"/>
   </div>


не могу получить чекед ...

пробовал через ф-цию .. но никак

<script type="text/javascript" language="javascript">
function gete(radio)
{
  for (var i=0; i < radio.length; i++){
    if (radio[i].checked) return radio[i].value;}

  return null;
}
</script>

через пример с кнопкой сабмит работает, но мне надо передать через обычную кнопку
буду рад любой помощи.
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2009, 17:03
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

function getRadioValue(name) {
    var radio = document.getElementsByName(name);
    for (var i in radio)
        if (radio.hasOwnProperty(i))
            if (radio[i].checked)
                return radio[i].value;
    return false;
}

alert(getRadioValue("test"));
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2009, 22:42
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35

всеравно результат всегда false
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2009, 22:57
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

gaolong,
Откуда выполняете код?
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2009, 23:00
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35

пробовал и с кнопки через алерт вывести...и через аякс в обработчик...ответ всегда фалс


да...и в ИЕ выводит ошибку...обьект не поддерживает это свойство или метод... hasOwnProperty, в опере молчит и выводит фалс

Последний раз редактировалось gaolong, 09.02.2009 в 23:06.
Ответить с цитированием
  #6 (permalink)  
Старый 10.02.2009, 20:05
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35



Может знаете другие варианты?) буду рад помощи...
Ответить с цитированием
  #7 (permalink)  
Старый 10.02.2009, 20:22
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Странно, почему в IE коллекция элементов имеет тип "object", но не является инстансом объекта (и не имеет метода hasOwnProperty), или это меня глючит?

Тогда перебирайте элементы обычным циклом:
<div class="Clear">
	<form>
	    <input class="star" type="radio" name="test" value="1" checked="checked" />
	    <input class="star" type="radio" name="test" value="2"/>
	    <input class="star" type="radio" name="test" value="3"/>
	    <input class="star" type="radio" name="test" value="4"/>
	    <input class="star" type="radio" name="test" value="5"/>
	</form>
</div>
<script type="text/javascript">
	function getRadioValue(name) {
	    var radio = document.getElementsByName(name);
	    for (var i = 0, l = radio.length; i < l; i++)
	        if (radio[i].checked)
	            return radio[i].value;
	    return false;
	}
	 
	alert(getRadioValue("test"));
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 10.02.2009, 21:07
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Андрей Параничев
Странно, почему в IE коллекция элементов имеет тип "object", но не является инстансом объекта (и не имеет метода hasOwnProperty), или это меня глючит?
Потому что в ИЕ мир DOM и мир JavaScript -- разные миры.
Ответить с цитированием
  #9 (permalink)  
Старый 10.02.2009, 21:57
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35

не ну...реально...всеравно фалс выводит....
вот код такой...может чето нетак пишу...

да...и скопировал код ваш - при алерте при запуске - выводит 1, а если в кнопку вставить вызов - фалс....
да...и ещё факт - убрал звездочки...оставил сами радио...выводит норм.. тогда уже наверно блокирует класс Стар ...может он явно не фиксирует выбранное значение...а лишь визуально показывает выбор....может нада выводить в стиле кода jQuery?

<script language="javascript">
 function getRadioValue(name) {
        var radio = document.getElementsByName(name);
        for (var i = 0, l = radio.length; i < l; i++)
            if (radio[i].checked)
                return radio[i].value;
        return false;
    }
  </script>

<div class="Clear">
    <input class="star" type="radio" name="test" value="1"/>
    <input class="star" type="radio" name="test" value="2"/>
    <input class="star" type="radio" name="test" value="3"/>
    <input class="star" type="radio" name="test" value="4"/>
    <input class="star" type="radio" name="test" value="5"/>
   </div>
   

   
  <input type="button" onclick="alert(getRadioValue('test'))" value="gggg" />

Последний раз редактировалось gaolong, 10.02.2009 в 22:06.
Ответить с цитированием
  #10 (permalink)  
Старый 10.02.2009, 22:27
Аспирант
Отправить личное сообщение для gaolong Посмотреть профиль Найти все сообщения от gaolong
 
Регистрация: 29.06.2008
Сообщений: 35

все,решил методом научного тыка и кривом кодом из ф-ции сабмита jQuery. пасиб за попытки решить задачу.)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск