powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax опрос
4 сообщений из 4, страница 1 из 1
ajax опрос
    #36007379
balalar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, есть код опроса, но он не работает в IE,
"Для выбора одного варианта ответа на вопрос я использовал элемент управления "radio button". Для того чтобы объединить несколько таких элементов в группу, им нужно назначить одинаковое значение атрибута name. Я выбрал значение "rdChoice". Итак, я создавал элемент input и после этого устанавливал у него name, равное "rdChoice". Проблема в том, что Internet Explorer не позволяет устанавливать значение атрибута name после того, как элемент уже был создан. Что же делать?"
____________________________
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>

<head>
<script type="text/javascript" src="dojo.js" djConfig="parseOnLoad:true, isDebug:false, usePlainJson:true"></script>
</head>

<body>

<!-- Голосование -->
<div id="voting">
<form id="vote_form" method="post">
Нравится блог?
<br />
<input type="radio" name="answer" value="yes" checked="checked" /> Да
<input type="radio" name="answer" value="no" /> Нет
<br />
<input type="button" value="Проголосовать" id="vote_btn" />
<br />
<input type="button" value="Показать результаты" id="res_btn" />
</form>
</div>
<!-- /Голосование -->

<!-- Dojo код -->
<script type="text/javascript">
dojo.addOnLoad(function() {
var vote_btn = dojo.byId("vote_btn");
var res_btn = dojo.byId("res_btn");

var yes_answer = 0;
var no_answer = 0;
var just_results = true; // true, если пользователь нажал на кнопку "Показать результаты"

dojo.connect(vote_btn, "onclick", function() {

// Передаем форму PHP-скрипту
dojo.xhrPost({
url: "vote.php",
content: {act: 'vote'},
form: "vote_form",
handleAs: "json",
load: function(response, ioArgs) {
yes_answer = response.yes_answer;
no_answer = response.no_answer;

just_results = false;
res_btn.click();

return response;
},
error: function(response, ioArgs) {
console.error("HTTP status code: ", ioArgs.xhr.status);
return response;
}
});
});

dojo.connect(res_btn, "onclick", function() {
if (just_results) {
// Вызываем PHP-скрипт для извлечения результатов голосования
dojo.xhrPost({
url: "vote.php",
handleAs: "json",
load: function(response, ioArgs) {
yes_answer = response.yes_answer;
no_answer = response.no_answer;

show_vote_results(yes_answer, no_answer);

return response;
},
error: function(response, ioArgs) {
console.error("HTTP status code: ", ioArgs.xhr.status);
return response;
}
});
} else {
show_vote_results(yes_answer, no_answer);
}
});
});

// Функция для вывода результатов голосований
function show_vote_results(yes_answer, no_answer) {
dojo.byId("voting").innerHTML = "Результаты голосования:<br />Да: " + yes_answer + "<br />Нет: " + no_answer;
}
</script>
<!-- /Dojo код -->

</body>

</html>
____________________________
нашел и Функцию, которая создает элементы с заданным атрибутом name в любом браузере
____________________________
//функция возвращает новый элемент с установленным аттрибутом name
function createNamedElement(type, name) {
var element = null;
// Попытка создать элемент в стиле IE. Она будет неудачной в большинстве браузеров
try {
element = document.createElement('<'+type+' name="'+name+'">');
} catch (e) {
}
if (!element || element.nodeName != type.toUpperCase()) {
// Для не IE; использование стандартного метода создания элемента
element = document.createElement(type);
element.setAttribute("name", name);
}
return element;
}
____________________________
тока как ее связать с кодом опроса ума не приложу.
Подскажите кто соображает
...
Рейтинг: 0 / 0
ajax опрос
    #36007671
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала нужно оформить код
...
Рейтинг: 0 / 0
ajax опрос
    #36007712
balalar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зыдля начала нужно оформить код
А можно поподробнее?
К этому опросу еще файл обработки такого содержания:
<?
// Читаем результаты голосования из файла
@$f = fopen('vote.dat', 'r');
if ($f) {
@$yes_answer = trim(fgets($f));
@$no_answer = trim(fgets($f));
@fclose($f);
}

// Делаем инкремент варианта, если пользователь голосует
if ($_REQUEST['act'] == 'vote') {
if ($_REQUEST['answer'] == 'yes') {
$yes_answer++;
} elseif ($_REQUEST['answer'] == 'no') {
$no_answer++;
}
}

// Записываем результаты голосования в файл
@$f = fopen('vote.dat', 'w');
if ($f) {
@flock($f, LOCK_EX);
@fwrite($f, $yes_answer."\r\n");
@fwrite($f, $no_answer);
@flock($f, LOCK_UN);
@fclose($f);
}

// Возвращаем результаты голосования в формате JSON
echo "{'yes_answer': '".intval($yes_answer)."',
'no_answer': '".intval($no_answer)."'}";
?>
_________________________
но я так понимаю скрипт для проверки браузера нужно вставлять в первый файл
...
Рейтинг: 0 / 0
ajax опрос
    #36007813
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код оформляется тэгами [src]
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ajax опрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]