Нужна помощь с javascript

Тема в разделе "JavaScript", создана пользователем Uglik, 11 фев 2012.

Модераторы: ZiX
  1. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Помогите допилить скрипт.
    Суть: Скрипт отлавливает имя с формы, транслитит его и подставлет в др форму.

    Код:
    var ru2en = {
      ru_str : 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя,.; "',
      en_str : ['a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t',
        'u','f','h','c','ch','sh','shh','','i','','je','ju',
        'aj','a','b','v','g','d','e','jo','zh','z','i','j','k','l','m','n','o','p','r','s','t','u','f',
        'h','c','ch','sh','shh','','i','','je','ju','ja','','','','-',''],
      translit : function(org_str) {
        var tmp_str = "";
        for(var i = 0, l = org_str.length; i < l; i++) {
          var s = org_str.charAt(i), n = this.ru_str.indexOf(s);
          if(n >= 0) { tmp_str += this.en_str[n]; }
          else { tmp_str += s; }
        }
        return tmp_str;
      }
    }
     
    function setTranslit(source, dest, rewrite) {
        var name = $("input[name='"+source+"']").val();
        if (name != undefined) {
            $("input[name='"+source+"']").change(function(){
                var name = $("input[name='"+source+"']").val();
                var key = $("input[name='"+dest+"']").val();
                if ((key == '')||(rewrite))
                    $("input[name='"+dest+"']").val(ru2en.translit(name));
            });
        }
    }
     
    $(document).ready(function(){
        // Products
        setTranslit("product_description\\[1\\]\\[name\\]", "keyword", false);
        // Info Articles
        setTranslit("information_description\\[1\\]\\[title\\]", "keyword", false);
        // Categories
        setTranslit("category_description\\[1\\]\\[name\\]", "keyword", false);
        // Manufacturer
        setTranslit("name", "keyword", true);
    });

    Что нужно:
    Получить id продукта передоваемого методом GET и добавить его перед транслируемым текстом.
    PHP:
    /index.php?route=catalog/product/update&token=5f95c450933e06ded71b1d172188fcbf&product_id=42
    Переменная product_id=42 ($product_id = 42)

    Пример :
    Из поля
    HTML:
    <input type="text" name="product_description[1][name]" maxlength="255" size="100" value="Тестовый продукт"/>
    Береться значение "Тестовый продукт" транслируеться в testovi-product и подставляеться в форму
    HTML:
    <input type="text" name="keyword" value=" testovi-product ">
    после чего попадает в базу данных

    Нужно получить занчение вида: 42-testovi-product
     
  2. coolparty

    coolparty Постоялец

    Регистр.:
    6 ноя 2006
    Сообщения:
    63
    Симпатии:
    25
    А что не работает то? Боюсь что тут мало ясновидящих..
     
  3. d1mka

    d1mka Постоялец

    Регистр.:
    20 мар 2007
    Сообщения:
    92
    Симпатии:
    23
    Вот функция для js
    var parts=document.location.search.substr(1).split("&");
    var GET={}, gettex="", curr;
    for (i=0; i<parts.length; i++) {
    curr = parts.split('=');
    GET[curr[0]] = curr[1];
    }
    for (var el in GET) {
    if (el && GET[el])
    gettex+=el+" = "+GET[el]+"\n";
    }
    document.write("<pre>"+gettex+"</pre>");