Одесса: 5°С (вода 9°С)
Киев: 0°С
Львов: -1°С

Тема: JavaScript - передача параметров

Ответить в теме
Показано с 1 по 2 из 2
  1. Вверх #1

    По умолчанию JavaScript - передача параметров

    Привет всем!

    Вот мой пример:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>

    <style>
    #videoEdit { height:135px; width:800px; padding:0px; margin:0px;}
    #videoField { height:200px; width:505px; margin-left:40px; padding:0px;}
    #videoSelection2 { height:310px; width:520px; padding:0px; margin:0px;}
    #videoPayment { height:250px; width:600px; margin-left:100px; margin-top:20px; background-color:#2a598f;}
    .videoOption { height:56px; width:250px; background-color:#fff; border:1px #e7e7e7 solid; float: left;}
    .change_videoOption { height:56px; width:250px; background-color:#c7e0f4; border:1px #e7e7e7 solid; float: left;}
    .account_videoItem { height:56px; width:300px; background-color:#fff; border:1px #e7e7e7 solid; }
    .videoItem2 { height:56px; width:250px; background-color:#c7e0f4; border:1px #e7e7e7 solid; }
    .field { width:504px; height:60px; float:left; }
    .videoCheck {width:30px; height:24px; float:right; margin-top: 17px;}
    .videoRect {width:50px; height:50px; margin-right:20px; background-color:#999; float:left; margin-top: 3px; margin-left: 3px;}
    .videoFieldName { height:20px; width:150px; float:left; position: relative;line-height: 58px;}
    </style>
    <title>MyVidayo</title>
    <script>
    checkedList = Array(0,0,0);

    function cl(e, checkBoxNum)
    {
    var el = window.event ? window.event.srcElement : e.target;

    if (el.parentNode.className == 'videoOption')
    {
    el.parentNode.className = 'change_videoOption';
    el.src = 'img/chek1.png';
    checkedList[checkBoxNum] = 1;
    }
    else
    {
    el.parentNode.className = 'videoOption';
    el.src = 'img/chek0.png';
    checkedList[checkBoxNum] = 0;
    }
    }
    </script>

    </head>
    <body>

    <div id="videoField">
    <form name="myForm">
    <div class="field">
    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid0" >
    </div>

    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid1">
    </div>
    </div>
    <div class="field">
    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" nam="hid2">
    </div>

    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid3">
    </div>
    </div>

    <div class="field">
    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid4">
    </div>

    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid5">
    </div>
    </div>

    <div class="field">
    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid6">
    </div>

    <div class="videoOption" >

    <img src="img/chek0.png" onclick="cl(event,0);" id="img_check">
    <input type="hidden" name="hid7">
    </div>
    </div>
    <input type=submit name="sub" value="Submit" onclick="cl();">
    </form>
    </div>

    </body>
    </html>

    Свиду может все не понятно, но сейчас обьясню. Здесь расположено 8 контейнеров, которые представляют из себя checkbox(сы) из картинок, при нажатии просто меняется картинка и стиль.В каждый класс field я добавил <input type="hidden"> и в самый низ submit, так вот при нажатии на submit мне нужно чтобы все текущие состояния checkbox(сов) записывались в какие нибудь переменные. Ну например 1й checkbox включен все остальные выключены и все эти состояния (true или false) записалсь в переменные соответственно. Если кто то поможет буду благодарен. Я там прикрепил архивчик если что смотрите.
    Вложения
    • Тип файла: zip check.zip (3.6 Кб, Просмотров: 5)


  2. Вверх #2
    Постоялец форума Аватар для Илья Царюк
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    35
    Сообщений
    1,523
    Репутация
    694
    Записей в дневнике
    3
    Эмм... Зачем тогда в форме присутствует:
    Код:
    <input type="hidden" name="hid0" >
    ...
    <input type="hidden" name="hid7" >
    Если не для того что вам необходимо?
    Но в функции cl() я не вижу чтобы вы что-то присваивали этим скрытым переменным. Может стоит, если вы их держите на форме? Можете использовать одну переменную скрытую и присваивать ей значения в виде "0010011" (true|false для каждого из семи чекбоксов) и потом это обрабатывать на сервере. Да на самом деле множество способо может быть в каком виде передать. Но раз уж вы добавили скрытые инпуты, делайте же ж с ними что-то.

    И вот тут:
    Код:
    <input type=submit name="sub" value="Submit" onclick="cl();">
    Вызов cl() мне неясен, для чего это нужно.

    Нельзя повторяться в аттрибуте ID, он должен быть уникальным:
    Код:
    id="img_check"
    event заменить на this и переписать соответственно в функции cl() кусочек .
    0 по всей видимости не должен быть нулем для всех вызовов, а должен принимать значения от 0 до 6, раз вы сохраняете текущее состояние в массив.
    Код:
    onclick="cl(event,0);"
    Продолжать можно долго, я уже молчу про ошибки HTML. Значения аттрибутов в коде должно быть заключено в ковычки, у картинок должен быть хотябы пустой ALT, с вашим доктайпом форма не может иметь аттрибут NAME, STYLE и SCRIPT должны иметь аттрибут TYPE.

    Вот работающий draft вариант, того что вы имели в виду, без исправления ошибок синтаксиса HTML и с методом GET чтобы сразу увидеть результат отправки. Привожу вам только для того чтобы натолкнуть на верные мысли, copy-paste не рекомендую, это портит мозг.

    Код:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    
    <style>
    #videoEdit { height:135px; width:800px; padding:0px; margin:0px;}
    #videoField { height:200px; width:505px; margin-left:40px; padding:0px;}
    #videoSelection2 { height:310px; width:520px; padding:0px; margin:0px;}
    #videoPayment { height:250px; width:600px; margin-left:100px; margin-top:20px; background-color:#2a598f;}
    .videoOption { height:56px; width:250px; background-color:#fff; border:1px #e7e7e7 solid; float: left;}
    .change_videoOption { height:56px; width:250px; background-color:#c7e0f4; border:1px #e7e7e7 solid; float: left;}
    .account_videoItem { height:56px; width:300px; background-color:#fff; border:1px #e7e7e7 solid; }
    .videoItem2 { height:56px; width:250px; background-color:#c7e0f4; border:1px #e7e7e7 solid; }
    .field { width:504px; height:60px; float:left; }
    .videoCheck {width:30px; height:24px; float:right; margin-top: 17px;}
    .videoRect {width:50px; height:50px; margin-right:20px; background-color:#999; float:left; margin-top: 3px; margin-left: 3px;}
    .videoFieldName { height:20px; width:150px; float:left; position: relative;line-height: 58px;}
    </style>
    <title>MyVidayo</title>
    <script>
    var box_states = new Array(0,0,0,0,0,0,0,0);
    function cl(e, index)
    {
    if (e.parentNode.className == 'videoOption')
    {
    box_states[index]=1;
    e.parentNode.className = 'change_videoOption';
    e.src = 'img/chek1.png';
    }
    else
    {
    box_states[index]=0;
    
    e.parentNode.className = 'videoOption';
    e.src = 'img/chek0.png';
    }
    }
    function onSubmit(){
    	document.getElementById("values").value = box_states.join("");
    }
    </script>
    
    </head>
    <body>
    
    <div id="videoField">
    <form name="myForm" method="get">
    <div class="field">
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,0);">
    </div>
    
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,1);">
    </div>
    </div>
    <div class="field">
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,2);">
    </div>
    
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,3);">
    </div>
    </div>
    
    <div class="field">
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,4);">
    </div>
    
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,5);">
    </div>
    </div>
    
    <div class="field">
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,6);">
    </div>
    
    <div class="videoOption" >
    
    <img src="img/chek0.png" onclick="cl(this,7);">
    </div>
    </div>
    <input type="hidden" id="values" name="values"/>
    <input type=submit name="sub" value="Submit" onclick="onSubmit()"/>
    </form>
    </div>
    
    </body>
    </html>
    Последний раз редактировалось Илья Царюк; 17.09.2007 в 20:04.

Ответить в теме

Похожие темы

  1. JavaScript: проблема
    от NoXX в разделе Программирование
    Ответов: 66
    Последнее сообщение: 08.09.2007, 18:20
  2. JavaScript
    от levis в разделе Программирование
    Ответов: 8
    Последнее сообщение: 07.09.2007, 16:40
  3. Стыковка PHP и JavaScript
    от mel в разделе Программирование
    Ответов: 11
    Последнее сообщение: 20.02.2007, 15:37
  4. Помогите со скриптом JavaScript
    от Emm в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.12.2006, 20:01
  5. JAVASCRIPT
    от Aksash в разделе Программирование
    Ответов: 5
    Последнее сообщение: 09.10.2005, 16:28

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения