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

Тема: Javascript - нужна помощь! (или вопрос по выбору опций)

Ответить в теме
Показано с 1 по 11 из 11
  1. Вверх #1
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182

    По умолчанию Javascript - нужна помощь! (или вопрос по выбору опций)

    Помогите, плиз)

    Делаю форму, никак не могу придумать, как это соединить вместе. Помогите, ну или ткните ссылкой, куда почитать, чтобы понять общий принцип.

    Условия такие - простая форма выбора, анкета пользователя.

    К примеру, (везде выпадающий список)
    1. выберите продукт
    а) молоко
    б) вода
    в) мясо

    2. Выберите тип доставки
    а) 3 дня
    б) 2 дня
    в) 1 день

    Теперь нужно как-то это связать вместе, чтобы вышло что-то по типу

    Если юзер выбрал 1 а) и 2 а), то после нажатия кнопки сабмит отправить форму и перенаправить на страницу 1


    Если юзер выбрал 1 а) и 2 б), то после нажатия кнопки сабмит отправить форму и перенаправить на страницу 2


    Если юзер выбрал 1 б) и 2 а), то после нажатия кнопки сабмит отправить форму и перенаправить на страницу 3

    Ну, т.е. в таком роде.

    Я так понимаю, что лучше javascript? И если да, то можно на пример именно таких связанных событий? Плиз) Действительно очень-очень нужно
    Только привыкнешь к хорошей жизни, как она тут же становится лучше


  2. Вверх #2
    User banned
    Пол
    Мужской
    Адрес
    Brisbane
    Сообщений
    2,009
    Репутация
    401
    Записей в дневнике
    1
    Вопрос первый, он же самый главный. Куда форма сабмитит данные?

    дело в том что редайрект делает скрипт который данные получает, соответственно в нем и надо проверять что пришло, и редайректить в зависимости от этого.

    Я конечно не знаю что именно вы делаете, но на мой взгляд 3 разных страницы для редайректа - слишком много. Разве что вы делаете какой то справочник компаний или что либо подобное.

  3. Вверх #3
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    Strannik-au

    Форма должна сабмитить на е-мейл (по возможности, без использования Outlook, The Bat)

    Про редиректы - их, по идее, должно быть много (т.е. каждый набор условий будет перенаправлять на отдельную страницу заказа, где уже будет конечный вариант расчета. Ну, или можно, конечно, сделать так.. сначала заполняется форма, при нажатии Сабмит форма отсылается на е-мейл + юзер перенаправляется на страницу, собственно, заказа. Там выбирает опцию (товар), где перенаправляется на страницу этого определнного товара, где он выбирает из выпадающего меню тип товара (допустим, красный,синий, белый), и снова перенаправляется уже на страницу оплаты.
    Путанно получается, редиректов слишком много. но нужно от юзера и форму получить, и дать ему выбрать товар. В первом случае (в моем первом посте), все операции сокращаются до минимума, т.е. есть определенный набор условий и все становится вроде бы понятно. А во втором варианте юзеру придется 1) заполнять форму с тем, что ему нужно и б) повторно заполнять уже непосредственно заказ (т.е. операции выбрать товар, срочность, и тд. - дублируются).

    В общем,я запуталась уже. А т.к. в Java сценариях я вообще не очень, вот мозгом понимаю, что это должно быть очень просто, но никак не могу понять, как именно это должно выглядеть.
    Только привыкнешь к хорошей жизни, как она тут же становится лучше

  4. Вверх #4
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    Да, еще - я тут нашла в Incomedia Website возможность сделать форму, которая сама создает cgi и поэтому необходимость разбираться в том, как эту самую форму заставить отсылаться, вроде нет. Осталось доделать ее там, потом экспортировать в Дримвьюер и там уже ее (форму) препарировать, чтобы посмотреть, как это работает и что можно изменить.

    И еще. Такая возня с редиректами и отдельными страницами заказа потому, что платежная система для сайта - 2checkout, а она не позволяет отсылать произвольную сумму на оплату. МОжно только в админ.панели в самом 2checkout создать список товаров, прикрутить там опции, и сам код для каждого отдельного товара в определеной конфигурации втулить на свою страницу сайта.
    Последний раз редактировалось Erzulie; 10.02.2008 в 18:04.
    Только привыкнешь к хорошей жизни, как она тут же становится лучше

  5. Вверх #5
    User banned
    Пол
    Мужской
    Адрес
    Brisbane
    Сообщений
    2,009
    Репутация
    401
    Записей в дневнике
    1
    тебе же CO дает весь необходимый код, зачем делать свои формы?

    мне кажется ты усложняешь задачу либо вообще неправильно ее формулируешь

    зачем при каждом выборе товара посылать е-мейл покупателю?

    кстати JavaScript не умеет емейлы посылать, тебе придется для этого использовать cgi

  6. Вверх #6
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    Strannik-au

    Я в личку стукнусь, можно?
    Только привыкнешь к хорошей жизни, как она тут же становится лучше

  7. Вверх #7
    User banned
    Пол
    Мужской
    Адрес
    Brisbane
    Сообщений
    2,009
    Репутация
    401
    Записей в дневнике
    1
    можно конечно

  8. Вверх #8
    Я сталкивался с подобной проблемой. В нете море решений.

    для ленивых ссылко http://www.mattkruse.com/javascript/...ist/index.html

  9. Вверх #9
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    shipr

    Спасибо, посмотрю!
    Только привыкнешь к хорошей жизни, как она тут же становится лучше

  10. Вверх #10
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    Возник очередной вопрос.

    Нашла я то, что мне нужно. Подскажите, как поставить кнопку GO, чтобы после того, как произошло все три выбора, ничего автоматически не редиректило?

    ==========

    <FORM name="isc">
    <table border="0" cellspacing="0" cellpadding="0">
    <tr align="center">
    <td nowrap height="11"> &nbsp;

    <select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
    <option selected>---Select1-------------</option>
    <option>Webmaster Sites</option>
    <option>News Sites</option>
    </select>

    <select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
    <option value=" " selected> </option>
    <option value=" " selected>---Select2--------------</option>
    <option value=" " selected>---Select2--------------</option>
    </select>

    <select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
    <option value=" " selected> </option>
    <option value=" " selected>---Select3----------------</option>
    <option value=" " selected>---Select3----------------</option>
    </select>

    <script>
    <!--


    var groups=document.isc.example.options.length
    var group=new Array(groups)
    for (i=0; i<groups; i++)
    group[i]=new Array()

    group[0][0]=new Option("---Select2---"," ");

    group[1][0]=new Option("Now Select This One"," ");
    group[1][1]=new Option("JavaScript","47");
    group[1][2]=new Option("DHTML","46");
    group[1][3]=new Option("CGI","45");

    group[2][0]=new Option("Now Select This One"," ");
    group[2][1]=new Option("General News","115");
    group[2][2]=new Option("Technology News","116");

    var temp=document.isc.stage2


    function redirect(x){
    for (m=temp.options.length-1;m>0;m--)
    temp.options[m]=null
    for (i=0;i<group[x].length;i++){
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)
    }
    temp.options[0].selected=true
    redirect1(0)
    }



    var secondGroups=document.isc.stage2.options.length
    var secondGroup=new Array(groups)
    for (i=0; i<groups; i++) {
    secondGroup[i]=new Array(group[i].length)
    for (j=0; j<group[i].length; j++) {
    secondGroup[i][j]=new Array() }}

    secondGroup[0][0][0]=new Option("---Select 3---"," ");
    secondGroup[1][0][0]=new Option("---Select 3---"," ");
    secondGroup[1][1][0]=new Option("Now Select This One"," ");
    secondGroup[1][1][1]=new Option("JavaScript Kit","http://javascriptkit.com");
    secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/");
    secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net");

    secondGroup[1][2][0]=new Option("Now Select This One"," ");
    secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com");
    secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/");
    secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/");

    secondGroup[1][3][0]=new Option("Now Select This One"," ");
    secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com");
    secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/");

    secondGroup[2][0][0]=new Option("---Select 3---"," ");
    secondGroup[2][1][0]=new Option("Now Select This One"," ");
    secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com");
    secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com");
    secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com");

    secondGroup[2][2][0]=new Option("Now Select A Page"," ");
    secondGroup[2][2][1]=new Option("News.com","http://www.news.com");
    secondGroup[2][2][2]=new Option("Wired","http://www.wired.com");

    var temp1=document.isc.stage3
    function redirect1(y){
    for (m=temp1.options.length-1;m>0;m--)
    temp1.options[m]=null
    for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
    temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
    }
    temp1.options[0].selected=true
    }

    function redirect2(z){
    window.location=temp1[z].value
    }

    //-->
    </script>

    </td>
    </tr>

    </table>
    </FORM>

    =============

    Вот понимаю, что после </select> нужно поставить вот это -

    <input type="button" name="test" value="Go!"
    onClick="go()">

    А теперь нужно где-то в скрипте указать


    function go(){
    location=temp.options[temp.selectedIndex].value
    }


    Где это притулить, чтобы редирект по ссылкам происходил не в автоматическом режиме, а после того, как юзер сделает все выборы и нажмет на кнопку GO?
    Только привыкнешь к хорошей жизни, как она тут же становится лучше

  11. Вверх #11
    Серый кардинал
    Аватар для Erzulie
    Пол
    Женский
    Адрес
    Одесса-Киев
    Сообщений
    28,096
    Репутация
    12246
    Записей в дневнике
    182
    Упс, anyway спасибо. Я уже нашла, как это сделать!
    Только привыкнешь к хорошей жизни, как она тут же становится лучше


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

Похожие темы

  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

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

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

Ваши права

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