Перерисовка html страницы

AD
На сайте с 03.12.2007
Offline
39
4821

Приветствую всех.

Возникла задача, но даже толком не знаю, с чего начать. Поэтому решил обратиться к знающим людям.

Итак, есть html страница, на которой используются элементы таблицы checkbox. На этой же странице нужно строить график на php, исходя из значений определённого файла на сервере. Данные по которым строится график напрямую зависят от выбранного/выбранных полей checkbox.

Необходимо: обновлять график(или просто какую-то определённую часть страницы) при выборе или отмене тех или иных checkbox-ов, не перезагружая страницы целиком.

Заранее благодарю за любые подсказки.

F
На сайте с 24.04.2009
Offline
45
#1
AlexDL:
Приветствую всех.
Возникла задача, но даже толком не знаю, с чего начать. Поэтому решил обратиться к знающим людям.

А конкретней, что графики будет отображать?

AlexDL:

Итак, есть html страница, на которой используются элементы таблицы checkbox.

Уже есть или будет?

И выражайте мысль конкретней, вас интересует на чем строить графики?

AD
На сайте с 03.12.2007
Offline
39
#2
Fearful:

А конкретней, что графики будет отображать?

График строится по значениям, взятых из текстового файла.

Fearful:

Уже есть или будет?

Уже есть. При рисовании использую библиотеку GD (php).

Fearful:

И выражайте мысль конкретней, вас интересует на чем строить графики?

В моём вопросе камень предкновения не в графиках, а в обновлении ТОЛЬКО определённой части странице, при выборе checkbox. Вместо графиков можно, например, отображать в каком-то месте страницы, скажем, номера выбранных checkbox. НО, в таком случае, список этих номеров должен динамически изменяться при выборе или отмене "галочек", причём, без перезагрузки всей страницы. Например, выбрал чекбокс №5, в определённом месте страницы вывелось это значение, выбрал чекбокс №15, в определённном месте строка изменилась на вид: "5,15" и т.д.

Может ненемного неконкретно описываю свою ситуацию, но суть вопроса, думаю, ясна.

Jekyll
На сайте с 04.05.2009
Offline
136
#3
AD
На сайте с 03.12.2007
Offline
39
#4

Добавлю.

Решение вопроса (приблизительное, возможно не точное) вижу примерно так: при выборе чекбокс, по событию onclick, вызываю какую-то ф-ию javascript (например ScrEx1()), в этой ф-ии формирую строку значений УЖЕ выбранных чекбоксов. Затем вывожу эту строку в теле страницы. Можно ли так сделать для решения моей задачи?

F
На сайте с 24.04.2009
Offline
45
#5
AlexDL:
График строится по значениям, взятых из текстового файла.

Уже есть. При рисовании использую библиотеку GD (php).

В моём вопросе камень предкновения не в графиках, а в обновлении ТОЛЬКО определённой части странице, при выборе checkbox. Вместо графиков можно, например, отображать в каком-то месте страницы, скажем, номера выбранных checkbox. НО, в таком случае, список этих номеров должен динамически изменяться при выборе или отмене "галочек", причём, без перезагрузки всей страницы. Например, выбрал чекбокс №5, в определённом месте страницы вывелось это значение, выбрал чекбокс №15, в определённном месте строка изменилась на вид: "5,15" и т.д.

Может ненемного неконкретно описываю свою ситуацию, но суть вопроса, думаю, ясна.

Думаю это http://www.amcharts.com/ как раз подойдет, для ваших задач

AD
На сайте с 03.12.2007
Offline
39
#6

Спасибо за подсказку. Видимо, надо технологию AJAX использовать. Начну разбираться в этом направлении.

AlexDL добавил 18.11.2011 в 05:29

Fearful:
Думаю это http://www.amcharts.com/ как раз подойдет, для ваших задач

Спасибо, Fearful, за пример!

Joker-jar
На сайте с 26.08.2010
Offline
171
#7

Не обязательно тут использовать ajax. Вполне достаточно перезагружать изображение (подобное используется, когда рядом с капчей есть кнопка/ссылка "обновить"). Изображение - это некий PHP-скрипт (насколько я понял), на странице выводится примерно так:

<img id="chart" src="chart.php?n1=v1&n2=v2" />

Вешайте обработчик на изменение состояний элементов форм, в котором выполняйте обновление графика примерно так:

[js]$('#chart').attr( "src", "/chart.php?" + $('#controls').serialize() );[/js]

AD
На сайте с 03.12.2007
Offline
39
#8
Joker-jar:
Не обязательно тут использовать ajax. Вполне достаточно перезагружать изображение (подобное используется, когда рядом с капчей есть кнопка/ссылка "обновить"). Изображение - это некий PHP-скрипт (насколько я понял), на странице выводится примерно так:

<img id="chart" src="chart.php?n1=v1&n2=v2" />


Вешайте обработчик на изменение состояний элементов форм, в котором выполняйте обновление графика примерно так:

[js]$('#chart').attr( "src", "/chart.php?" + $('#controls').serialize() );[/js]

Joker-jar, всё верно, график - именно картинка в виде chart.php.

Предложенный метод проще, чем использование ajax. Разбираюсь...

AlexDL добавил 19.11.2011 в 02:54

Разобрался как сделать. Выкладываю код, если вдруг кому-то понадобится:

<html>

<head>

<title></title>

<script Language="JavaScript">

function DrawEq(param)

{

document.getElementById(param).innerHTML = '<img src=draw.php?width=200&str=1,2,3,4,5>';

}

</script>

</head>

<body>

<div id="status">

ВМЕСТО этого текста нарисуется картинка (вызванная php-скриптом)

</div>

<form>

<input type=checkbox name=set onclick=DrawEq('status') /></td></tr>

</form>

</body>

</html>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий