Радиокнопка и поле ввода - PullRequest
3 голосов
/ 01 декабря 2010

Я хочу создать форму, в которой пользователи могут выбирать из набора переключателей, и если им не нравится какой-либо выбор, они могут использовать последний переключатель, в котором будет текстовое поле, где они могут вводить собственный текст.

Я видел это на нескольких сайтах.просто интересно где и как это было реализовано

Ответы [ 3 ]

8 голосов
/ 01 декабря 2010

Я сделал тебе пример, ты этого хотел? http://www.jsfiddle.net/T7gE7/

var temp = '';
function disableTxt() {
    var field = document.getElementById("other");
    if(field.value != '') {
        temp = field.value;
    }
    field.style.display = "none";
    field.value = '';
}
function enableTxt() {
    document.getElementById("other").style.display = "inline";
    document.getElementById("other").value = temp;
}
3 голосов
/ 01 декабря 2010

хммм @Dai был быстрее меня: P ... но в любом случае, это не навязчивый способ сделать то же самое с помощью Mootools (если вы не хотите смешивать код js и html)

http://jsfiddle.net/raKbZ/1/

$('radio4').addEvent('change',function(E){
    if(E.target.checked){
        enableInput();
    }
});

$$('.normal').each(function(radio){
    radio.addEvent('change',function(E){
         if(E.target.checked){
             disableInput();
         }
    });
});


function enableInput(){
    $('other').set('disabled','');
    $('other').setStyle('background-color','#fff');
}

function disableInput(){
    $('other').set('disabled','disabled');
    $('other').setStyle('background-color','#d4d4d4');
}
0 голосов
/ 01 декабря 2010

создайте три переключателя, и ваше поле ввода затем отключите поле ввода. Присоедините событие javascript к третьей радиокнопке, которая вызывает функцию javascript. Затем эта функция активирует поле ввода, позволяя пользователю ввести собственную опцию. Вы также должны добавить события javascript к двум другим переключателям, чтобы отключить поле ввода, если они выбраны повторно.

...