вот код для формы
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST">
<b>Выберите банк из списка: </b>'.$content.'</br>
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST">
<b>Срок кредитования(месяцы):</b> <input type="mytext" name="srok" /><br />
<b>Сумма кредита:</b> <input type="mytext" name="summ" /><br />
<input type="submit" value="Рассчитать" />
<p><a class="gallery2" href="/pyrocms/addons/shared_addons/themes/interchange/data/text.php">модальное окно</a></p>
</form>'
тут я уже поменял action на text.php в котором я хочу выводить только таблицу...при нажатии на кнопку открывается другая страничка, а при нажатии на ссылку мод.окно...что изменить чтобы при нажатии на кнопку выводилось мод.окно???или как ссылку переделать,чтобы можно было использовать переменные из формы???помогите пожалуйста
Спустя 6 минут, 27 секунд (22.01.2012 - 14:19) redreem написал(а):
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST" onsubmit="formHandler(this);return false">
в formHandler(); делай че хош с этой формой:
1. сериализуй данные
2. отправь аджаксом, получи ответ
3. выводи ответ
Спустя 4 минуты, 7 секунд (22.01.2012 - 14:23) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 11:19) |
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST" onsubmit="formHandler();return false"> в formHandler(); делай че хош с этой формой: 1. сериализуй данные 2. отправь аджаксом, получи ответ 3. выводи ответ |
спасибо,буду пробовать!)))
Спустя 2 минуты, 57 секунд (22.01.2012 - 14:26) redreem написал(а):
на jQuery все это условно "в 3 строчки" можно написать если что:
$(form).serializeArray();
$.post(...);
$(...).html(...);
$(form).serializeArray();
$.post(...);
$(...).html(...);
Спустя 2 часа, 28 минут, 13 секунд (22.01.2012 - 16:54) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 11:19) |
<form action="/pyrocms/addons/shared_addons/themes/interchange/data/text.php" method="POST" onsubmit="formHandler(this);return false"> в formHandler(); делай че хош с этой формой: 1. сериализуй данные 2. отправь аджаксом, получи ответ 3. выводи ответ |
что то не получается...а можно поподробнее,если Вас не затруднит,объяснить как это сделать???
и ещё раз объясню,потому что опять же страница другая открывается...как мне в модальном окне получить таблицу с вычислениями,данные берутся из формы со страницы calc. а страница calculate как модальное окно...надеюсь понятно объяснил)))
Спустя 2 минуты, 34 секунды (22.01.2012 - 16:57) redreem написал(а):
что именно не получается? приводи полный код страницы - будем смотреть.
Спустя 8 минут, 40 секунд (22.01.2012 - 17:05) Jokeryuga написал(а):
я просто пытался сделать плагин) вот что получилось...
function calc()выводится форма с %,суммой кредита и месяцы. на др. странице вып-ся след. плагин
{
$content = '<select name=bank>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
foreach ($banks as $bank)
{
$content.= '<option value="'.$bank["procent"].'"';
$content.= '>'.$bank["name"].' - '.$bank["procent"].'%</option>';
}
$content.= '</select>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
$banks_res = '';
foreach ($banks as $bank)
{
$banks_res .='<p>'.$bank['name'].'</p>';
}
$html = '
<form action="' .site_url(). '/kalkuljator/calc_res" method="POST">
<b>Выберите банк из списка: </b>'.$content.'</br>
<form action="kalkuljator/calc_res" method="POST">
<b>Срок кредитования(месяцы):</b> <input type="mytext" name="srok" /><br />
<b>Сумма кредита:</b> <input type="mytext" name="summ" /><br />
<input type="submit" value="Рассчитать" />
<p><a class="gallery2" href="/pyrocms/addons/shared_addons/themes/interchange/data/text.php">Форма в модальном окне</a></p>
</form>';
return($html);
}
function calculate()
{
$mis = $_POST['srok'];
$sum = $_POST['summ'];
$bank = $_POST['bank'];
//$mis = 12 ;
$pp = 100 ;
$summis = $sum / $mis ;
$html = '<a href="javascript:history.back(1)">Обратно к вводу данных</a>';
$html2 = "
<p>$html</p>
<p><font size = '4' color = 'red'><b>Сумма кредита: " . $sum . "</b></p>
<p><b>% кредита: " . $bank . "%</b></p>
<p>Аннуитетный платёж =
<td><b>".round(($sum*($bank/(100*$mis)))/(1-(pow(1+$bank/(100*$mis),-$mis))),2)."</td></p></font>
<b><table align = center width = 70% height = 200 border = 1 bordercolor = #C0C0C0 cellspacing = 0 cellpadding = 0>
<tr width = 200 align = center >
<td >Месяц</td>
<td>Сумма кредита</td>
<td>Сумма %</td>
<td>К выплате</td>
<td>Остаток</td>
</tr>";
for($i=1;$i<=$mis;$i++) {
if ($i==1)
$html2 .= "<tr align = center >
<td>$i</td>
<td><b>" .round($summis, 2). "</td>
<td><b>" .round($m[$i] = $sum / $mis * $bank / $pp, 2). "</td>
<td><b>" .round($v[$i] = $summis + $m[$i], 2). "</td>
<td><b>" .round($z[$i] = $sum - $summis, 2). "</td>
</tr>";
else
$html2 .= "<tr align = center >
<td>$i</td>
<td><b>" .round($summis, 2). "</td>
<td><b>" .round($m[$i] = $z[$i-1] / $mis * $bank / $pp, 2). "</td>
<td><b>" .round($v[$i] = $summis + $m[$i], 2). "</td>
<td><b>" .round($z[$i] = $z[$i-1] - $summis, 2). "</td>
</tr>";
}
$html2 .= "</table>";
return($html2);
}
Спустя 2 минуты, 41 секунда (22.01.2012 - 17:08) Jokeryuga написал(а):
забыл написать!!!я не хочу использовать calculate, а хочу сделать мод.окно...короче в text.php вывести туже таблицу...со сслыкой открывается мод.окно,но не видит(естесственно) переменные, а вот с кнопкой открывается новая страница
Спустя 10 минут, 59 секунд (22.01.2012 - 17:19) redreem написал(а):
ну вот как-то так:
при этом по ссылке из action формы должно что-то обрабатываться и отдаваться клиенту. то что отдастся должно попасть в div #calcRes
function calc()
{
$content = '<select name=bank>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
foreach ($banks as $bank)
{
$content.= '<option value="'.$bank["procent"].'"';
$content.= '>'.$bank["name"].' - '.$bank["procent"].'%</option>';
}
$content.= '</select>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
$banks_res = '';
foreach ($banks as $bank)
{
$banks_res .='<p>'.$bank['name'].'</p>';
}
$html = '
<div id="calcRes" style="display:none"></div>
<form action="' .site_url(). '/kalkuljator/calc_res" method="POST" onsubmit="formHandler(this);return false">
<b>Выберите банк из списка: </b>'.$content.'</br>
<form action="kalkuljator/calc_res" method="POST">
<b>Срок кредитования(месяцы):</b> <input type="mytext" name="srok" /><br />
<b>Сумма кредита:</b> <input type="mytext" name="summ" /><br />
<input type="submit" value="Рассчитать" />
<p><a class="gallery2" href="/pyrocms/addons/shared_addons/themes/interchange/data/text.php">Форма в модальном окне</a></p>
</form>
<script type="text/javascript">
function formHandler(formEl) {
var param=$(formEl).serializeArray();
$.post(formEl.action, param, function(data){
$(\'#calcRes\').html(data);
$(\'#calcRes\').css({display:\'block\'});
});
};
</script>';
return($html);
}
при этом по ссылке из action формы должно что-то обрабатываться и отдаваться клиенту. то что отдастся должно попасть в div #calcRes
Спустя 12 минут, 6 секунд (22.01.2012 - 17:31) Jokeryuga написал(а):
получилось,только вот отображается криво всё(((и не в модальном окне а как бы прямо на странице где форма для ввода...
Спустя 1 минута, 27 секунд (22.01.2012 - 17:32) redreem написал(а):
ну так укажи вместо $(\'#calcRes\') $(\'<id твоего модального окна>\')

Спустя 7 минут, 39 секунд (22.01.2012 - 17:40) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 14:32) |
ну так укажи вместо $(\'#calcRes\') $(\'<id твоего модального окна>\')![]() |
я если честно не понимаю)))у меня с помощью class="gallery2" открывается модальное окно(при нажатии по ссылке)...
Спустя 34 минуты, 44 секунды (22.01.2012 - 18:15) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 14:32) |
ну так укажи вместо $(\'#calcRes\') $(\'<id твоего модального окна>\')![]() |
всё!сделал)))только вот хотелось бы чтоб как в fancybox модальное окно было(((
Спустя 3 минуты, 9 секунд (22.01.2012 - 18:18) redreem написал(а):
так попробуй :)
function calc()
{
$content = '<select name=bank>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
foreach ($banks as $bank)
{
$content.= '<option value="'.$bank["procent"].'"';
$content.= '>'.$bank["name"].' - '.$bank["procent"].'%</option>';
}
$content.= '</select>';
$query = "select * from banks";
$result = $this->db->query($query);
$banks = $result->result_array();
$banks_res = '';
foreach ($banks as $bank)
{
$banks_res .='<p>'.$bank['name'].'</p>';
}
$html = '
<style type="text/css">
#calcRes {top:120px;left:0;width:100%;display:none;z-index:20000}
#calcRes div {postion:relative;width:80%;margin:0 auto;background:#eee;border:4px solid #aaa;padding:8px}
</style>
<form action="' .site_url(). '/kalkuljator/calc_res" method="POST" onsubmit="formHandler(this);return false">
<b>Выберите банк из списка: </b>'.$content.'</br>
<form action="kalkuljator/calc_res" method="POST">
<b>Срок кредитования(месяцы):</b> <input type="mytext" name="srok" /><br />
<b>Сумма кредита:</b> <input type="mytext" name="summ" /><br />
<input type="submit" value="Рассчитать" />
<p><a class="gallery2" href="/pyrocms/addons/shared_addons/themes/interchange/data/text.php">Форма в модальном окне</a></p>
</form>
<script type="text/javascript">
function formHandler(formEl) {
var param=$(formEl).serializeArray();
$.post(formEl.action, param, function(data){
calcResEl = document.createElement(\'div\');
document.body.appendChild(calcResEl);
calcResEl.id = \'calcRes\';
calcResEl.appendChild(document.createElement(\'div\'));
$(\'#calcRes div\').html(data);
$(\'#calcRes\').css({position:\'absolute\',display:\'block\',opacity:0});
$(\'#calcRes\').animate({opacity:1},500);
});
};
</script>';
return($html);
}
Спустя 14 минут, 41 секунда (22.01.2012 - 18:33) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 15:18) |
так попробуй :)function calc() |
ААААААААААА!!!!вот это красота))))а можно теперь ещё один тупой вопрос))как это дело после просмотра потом закрыть?))
Спустя 11 минут, 22 секунды (22.01.2012 - 18:44) redreem написал(а):
в окно пределать кнопку надо
которая вызывает функцию "закрытия окна и удаления объекта из DOM"... 


Спустя 53 минуты, 30 секунд (22.01.2012 - 19:38) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 15:44) |
в окно пределать кнопку надо ![]() ![]() |
создаю кнопку,делаю window.close() и закрывается полностью вся вкладка)получается что это окно связано со страницей???
Спустя 2 минуты, 51 секунда (22.01.2012 - 19:40) redreem написал(а):
то что "всплывает" - это не окно, а просто div с id="calcRes"
делай вместо window.close() например:
как-то так. может мелкие ошибочки - пишу сходу.
делай вместо window.close() например:
$('#calcRes').animate({opacity:0},300,function() {
document.body.removeChild(this);
});
как-то так. может мелкие ошибочки - пишу сходу.
Спустя 5 минут, 41 секунда (22.01.2012 - 19:46) Jokeryuga написал(а):
Цитата (redreem @ 22.01.2012 - 16:40) |
то что "всплывает" - это не окно, а просто div с id="calcRes" делай вместо window.close() например: $('#calcRes').animate({opacity:0},300,function() { как-то так. может мелкие ошибочки - пишу сходу. |
вот ты шпаришь)))если б ещё понять это)буду пробовать вникать...спасибо большое за помощь!