Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Как передать из JS функции переменную в форму GET


Автор: Win MK 32 16.4.2009, 10:59
На странице есть:
- JS-код с функцией.
- Кнопка, по онклику вызывающая эту функцию
- Форма, с кнопкой submit, отправаляющая данные на другую страницу в суперглобальном массиве POST/GET.
Надо помимо всех данных отправить еще кое-что из JS-фукнции. То есть при вывзове функция должна добавить что-то или убрать из массива.

P.S. Еще как вариант, надо отправить в POST/GET массив данные о состоянии styl'e некотого элемента, то бишь block или none он. Как?

Автор: InvalidProperty 16.4.2009, 11:03
делай не submit, а button, сам отправляй js-ом данные, тогда и дописать сможешь

Автор: ksnk 16.4.2009, 11:14
Как-то я слепил "невидимую капчу" для защиты форм от спама. Проверяла она, правда, только время отправки  формы и "работает ли у юзера JavaScript", однако  имела все нужные прибамбасы
-- Выставить еще один onsubmit на форме
-- добавить новый невидимый контрол в форму

Код

(function(){
function handle(a,e,o){
    if(!a)return this;
    if (a.addEventListener)
        a.addEventListener(e,o,false)
    else if (a.attachEvent) {
        try {
            a.attachEvent( e='on'+e, o);
        } catch (aEx) {}
    }
}

var forms=document.getElementsByTagName('form'),fl=forms.length;

while(fl--){
    handle(forms[fl],'submit',(function(form){ 
        return function(){
            var inp=document.createElement('input');
            inp.type="hidden";
            inp.value="$SECRET";
            inp.name="captcha";
            form.appendChild(inp);
        }
    })(forms[fl]))
}
})();


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)