Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2012, 20:23   #1
youngcoder
Новичок
Джуниор
 
Регистрация: 02.12.2012
Сообщений: 2
По умолчанию Проблемы с выводом сообшения чекбоксов

вот скрипт, в нём, при нажатии некоторых чекбоксов и кнопки, выводится сообщение о нажатых. В сообщение вместе с нажатыми пишет 15 undefined'ов . Пожауйста, помогите понять откуда ундефины
PHP код:
<table border="1">
      <SCRIPT LANGUAGE="JavaScript">
         function getSelected(opt) {
            var selected = new Array();
            var index = 0;
            for (var intLoop = 0; intLoop < opt.length; intLoop++) {
               if ((opt[intLoop].checked)) {
                  index = selected.length;
                  selected[index] = new Object;
                  selected[index].value = opt[intLoop].value;
                  selected[index].index = intLoop;
               }
            }
            return selected;
         }

         function outputSelected(opt) {
            var sel = getSelected(opt);
            var strSel = "";
            for (var item in sel)       
               strSel += sel[item].value + "\n";
            alert("Selected Items:\n" + strSel);
         }
      </SCRIPT> 
<?
if (($_GET["id1"]=="")&&($_GET["name1"]=="")&&($_GET["link1"]=="")&&($_GET["SUBMIT"]=="")){
echo 
"<form method='get'>";
echo 
"<INPUT TYPE='hidden' NAME='addg' value='material.material_add'>";
echo 
"<INPUT TYPE='hidden' NAME='option' value='com_virtuemart'>";
echo 
"<table><tr>";
    
$mats2=mysql_query("SELECT * FROM material where Id=(SELECT MAX(Id) FROM material)");
        while(
$mats3 mysql_fetch_array($mats2))
            {
                
$maxmatk=$mats3['Id']+1;
            }
echo 
"<td>Id</td><td><INPUT TYPE='TEXT' NAME='id1' readonly value='".$maxmatk."'></td></tr>";
echo 
"<tr><td>Name</td><td><INPUT TYPE='TEXT' NAME='name1'></td></tr>";
echo 
"<tr><td>Gosts</td><td>";
$gostt1 "SELECT * FROM `gostiz`";
$gostt2 mysql_query($gostt1);
while(
$gostt3 mysql_fetch_array($gostt2))
{
echo 
"<input type='checkbox' value='".$gostt3['Id']."' name='gostka'>".$gostt3['Name']."";
}
echo 
"</td></tr>";
echo 
"<tr><td>Montage</td><td>";
$mont1 "SELECT * FROM `montage`";
$mont2 mysql_query($mont1);
while(
$mont3 mysql_fetch_array($mont2))
{
echo 
"<input type='checkbox' value='".$mont3['Id']."' name='monka'>".$mont3['Name']."";
}
echo 
"         <INPUT TYPE=BUTTON VALUE='список выбранных монтажей' 
            ONCLICK='outputSelected(this.form.monka);'>"
;
echo 
"</td></tr>";
echo 
"<tr><td></td><td><INPUT TYPE='SUBMIT' NAME='SUBMIT' VALUE='Submit' ></td>";
echo 
"</tr><table>";

echo 
"</form>";
}

//-------------------------------//
else{
    
$gos2=mysql_query("SELECT * FROM gostiz where Id=(SELECT MAX(Id) FROM gostiz)");
        while(
$gos3 mysql_fetch_array($gos2))
            {
                
$maxgosk=$gos3['Id'];
            }
    
$mont2=mysql_query("SELECT * FROM montage where Id=(SELECT MAX(Id) FROM montage)");
        while(
$mont3 mysql_fetch_array($mont2))
            {
                
$maxmontk=$mont3['Id'];
            }
$Id=$_GET["id1"];
$Name=$_GET["name1"];
mysql_query("INSERT INTO material VALUES('$Id','$Name')")  or die("Нет данных!");
$gosk=1;
while (
$gosk<=$maxgosk){
$goste="gostka".$gosk;
if (
$_GET[$goste]!=""){
$gosid=$_GET[$goste];
mysql_query("INSERT INTO gostizmaterial VALUES('$gosid','$Id')")  or die("Нет данных!");
}
$gosk++;
}
$montk=1;
while (
$montk<=$maxmontk){
$monte="monka".$montk;
if (
$_GET[$monte]!=""){
$monid=$_GET[$monte];
mysql_query("INSERT INTO materialmontage VALUES('$Id','$monid')")  or die("Нет данных!");
}
$montk++;
}
print 
"<b>Данные успешно добавлены!</b><br>";
print 
"<a href='http://signsart.ru/administrator/index.php?addg=material.material_add&option=com_virtuemart'>Добавить еще!</a>";
}
?>
</table>

Последний раз редактировалось Stilet; 02.12.2012 в 20:46.
youngcoder вне форума Ответить с цитированием
Старый 02.12.2012, 20:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if (opt[intLoop] && (opt[intLoop].checked)
А вообще пользуйся отладчиками в браузере чтоб узнать состояния переменных.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.12.2012, 04:58   #3
youngcoder
Новичок
Джуниор
 
Регистрация: 02.12.2012
Сообщений: 2
По умолчанию

К сожалению не работает.
В теории что это может быть ?
youngcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с выводом. Haskell. pupilMartyr Помощь студентам 2 27.05.2012 00:07
C# Проблемы выводом таблицы PROkaZZZniK Помощь студентам 1 22.11.2011 12:31
Обработка чекбоксов и групп чекбоксов MCLotos Помощь студентам 0 11.08.2011 15:52
Проблемы с выводом Hemul PHP 4 17.02.2011 20:59
Проблемы с выводом Drozd Oleg Общие вопросы C/C++ 1 21.02.2010 22:12