Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача переменной в функцию javascript (https://javascript.ru/forum/misc/18911-peredacha-peremennojj-v-funkciyu-javascript.html)

iven 20.07.2011 11:33

Передача переменной в функцию javascript
 
была такая вот штука

function openNewMovie()
    {
        var url = document.forms['videoSelector'].movie.value;

        if(url != '')
        {
            plugin.Open(url);
        }
    }

    </script>
    
       <form name="videoSelector">
    Choose a video to play:
    <select name="movie" onChange="javascript:openNewMovie();">
      <option value="" selected>
      <option value="htpp://воронаелакашу">Video 1
    </select>
    </form>


нужно переделать форму в простые ссылки
сделал так

function openNewMovie(value)
    {
        var url = value;

        if(url != '')
        {
            plugin.Open(url);
        }
    }

    </script>
    
    <a href='javascript:openNewMovie("htpp://воронаелакашу")'>1</a>

Вылезла проблема

Там где htpp://воронаелакашу чисто на англ все нормально, а там где есть русские символы не работает.

например если http ссодержит %D1%E5%F0%E8%E0%EB%FB/%D5%EE%E4%FF%F7%E8%E5%20%EC%E5%F0%F2%E%E5%F6%FB - не работает

а если просто vorona - работает

что с кодировками химичить ?

ваый 20.07.2011 11:45

function openNewMovie(value) {
    var url = *!*decodeURI(value)*/!*;

    if (url != '') {
        plugin.Open(url);
    }
}

monolithed 20.07.2011 13:07

decodeURIComponent()

iven 20.07.2011 17:30

варианты не работают

все также
с var url = document.forms['videoSelector'].movie.value; работает
с var url = decodeURI(value); или var url = decodeURIComponent(value); - нет

monolithed 20.07.2011 18:49

<script>
document.onclick = function() {
    window.open(decodeURIComponent('http%3A%2F%2F%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81.%D1%80%D1%84'));
};
</script>

iven 21.07.2011 11:23

я же сказал что не работает
а оттого куда его вставить сюда url = decodeURIComponent(value); или сюда plugin.Open(decodeURIComponent(url))
разницы нет

да и уточняю

попробовал вставить вручную вместо
<a href='javascript:openNewMovie("http://...%D1%E5%F0%E8%E0%EB%FB/%C8%E3%F0%E0%20%EF%F0%E5%F1%F2%EE%EB%EE%E2/Game.of.Thrones.s01e01.rus.LostFilm.TV.avi")'>1</a>

<a href='javascript:openNewMovie("http://...Сериалы/Игра престолов/Game.of.Thrones.s01e01.rus.LostFilm.TV.avi")'>1</a>
пробовал c кодировкой html файла и в utf-8 и в 1251

тоже не работает

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


Часовой пояс GMT +3, время: 15:08.