|
|
|
| ошибка в цикле.
по всем формируемым ссылкам передается одно и тоже значение (например, макс. id = 8064).
заранее спасибо
for ($i=1; $i <=$num_rows; $i++)
{
$res=mysql_fetch_assoc($query);
<script>
function funk2()
{
document.forms.to_base.submit();
popupWin= window.open('combo.php?id=<?php echo $res['id']; ?>&table=otdel&id_otdel=<?php echo $res['id_otdel']; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus(); // неверные значения
}
</script>
<?php
echo '<td>'.$res['otdel']; // верно
?>
<a href="javascript:funk2()"><img style="border: 0px solid ;" alt="" src="right.gif"></a></td>
}
|
| |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 08:06)
| | Если Вы 20 раз определите функцию с одним и тем же именем, первое же повторное определение приведет к ошибке (которую вы игнорируете), а действовать останется последний вариант. Что Вы и наблюдаете. | |
|
|
|
|
|
|
|
для: Trianon
(21.01.2008 в 08:17)
| | покажите, пожалуйста, на примере, как корректно исправить.
и как оптимизировать код, если есть еще несколько функции:
funk1() и funk3()
по ссылкам передаются:
popupWin= window.open('combo.php?id=<?php echo $res['id']; ?>&table=room&id_room=<?php echo $res['id_room']; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus();
popupWin= window.open('combo.php?id=<?php echo $res['id']; ?>&table=name&id_name=<?php echo $res['id_name']; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus();
|
| |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 08:06)
| | если указать ссылку вне <script> передаются необх. данные.
в чем может быть проблема?
//<script>
//function funk2()
// {
//document.forms.to_base.submit();
//popupWin= window.open('combo.php?id=<?php echo $res['id']; ?>&table=otdel&id_otdel=<?php echo $res['id_otdel']; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus(); // неверные значения
// }
//</script>
<?php
echo '<td>'.$res['otdel']; // верно
?>
<a href="combo.php?id=<?php echo $res['id']; ?>&table=otdel&id_otdel=<?php echo $res['id_otdel']; ?>'"><img style="border: 0px solid ;" alt="" src="right.gif"></a></td>
|
| |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 08:19)
| | так вообще ссылка не формируется(
for ($i=1; $i <=$num_rows; $i++)
{
$res=mysql_fetch_assoc($query);
<script>
function funk<?php echo $i; ?>()
{
document.forms.to_base.submit();
popupWin= window.open('combo.php?id=<?php echo $res['id']; ?>&table=otdel&id_otdel=<?php echo $res['id_otdel']; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus(); // неверные значения
}
</script>
<?php
echo '<td>'.$res['otdel']; // верно
?>
<a href="javascript:funk<?php echo $i; ?>()"><img style="border: 0px solid ;" alt="" src="right.gif"></a></td>
}
|
| |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 09:56)
| | Если вы хотите открывать несколько окон с различными ссылками, то функцию нужно сделать одну, в которую будут передваться необходимые параметры ссылки. А вот картинкам присвоить вызов этой функции, в которой вы и должны сформировать (как я понимаю в цикле вашем) необходимые ссылки. Иначе у вас получается бардак какой-то. | |
|
|
|
|
|
|
|
для: sim5
(21.01.2008 в 10:36)
| | по ссылке происходит отправка данных главной формы и открывается дополнительное окно для редактирования.
да, функция должна быть одна.
не могли бы вы привести пример. совсем запутались( | |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 10:44)
| | Пример чего? Просто я вижу, что у вас функция прописывается в цикле, а значит их куча будет, а зачем? | |
|
|
|
|
|
|
|
для: sim5
(21.01.2008 в 10:47)
| | допустим, выношу за цикл:
<script>
function funk()
{
document.forms.to_base.submit();
popupWin= window.open('combo.php?id=<?php echo $param1; ?>&table=<?php echo $param2 ;?>&id_<?php echo $param3; ?>=<?php echo $param4; ?>','last', 'location,width=400,height=300,top=0,scrollbars = 1');
popupWin.focus();
}
</script>
| как затем инициировать параметры в ссылке?
допустим $param1=res['id']
$param2=otdel
$param3=otdel
$param4=res['id_otdel'] | |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 11:15)
| | Вот примерно:
//прописываем JS функцию вне цикла
function openWnd(lnk) {
document.forms.to_base.submit();
popupWin= window.open("combo.php?"+lnk, "last", "width=400,height=300,top=0,scrollbars=1");
popupWin.focus();
}
|
Из параметров окна убрано location - это вы не правильно пишите. Если вы хотите задействовать этот параметр или нет, то укажате ему соотвественно location=1/0, иначе то что вы написали, это ахинея.
Уберите якоря с изображений, и вызывайте функцию по событию onclick изображения. В стиле для изображения укажите курсор. Вот изображения и выводите в цикле, присваивая парметры сслыки каждому изображению согласно требуемым.
<?
//в теле цикла
print "<img onclick=\"openWnd('id=".$param1."&table=".$param2."&id_".$param3."=".$param4."')\"
src=\"\" width=\"\" height=\"\" border=\"0\" style=\"cursor: pointer\">";
?>
|
Соответсвенно указывайте имена изображений и их размеры, тут они не прописаны. Но коли вы их помещаете в цикл, надо пологать изображений будет не одно? | |
|
|
|
|
|
|
|
для: sim5
(21.01.2008 в 11:34)
| | ошибка в синтаксисе:"предполагается наличие ;"
что исправить?
echo '<td>'.$res['place'];
print "<img onclick=\"openWnd('id=".$res['id']."&table=place&id_place=".$res['id_place']."')\"
src=\"http://***/icons/right.gif\" width=\"\" height=\"\" border=\"0\" style=\"cursor: pointer\">";
|
да. | |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 12:06)
| | Заремируйте строку document.forms.to_base.submit(); на время проверки, или пропишите форму, ошибка исчезнет. | |
|
|
|
|
|
|
|
для: sim5
(21.01.2008 в 12:37)
| | у меня даже картинка не появляется( | |
|
|
|
|
|
|
|
для: ok computer
(21.01.2008 в 12:43)
| | Размер ее укажите, разве вы не видите, что я их пустыми в примере оставил? | |
|
|
|
|
|
|
|
для: sim5
(21.01.2008 в 12:46)
| | спасибо.
все работает. форма перезагружается. но почему опять ошибка js? | |
|
|
|