2013-05-03 3 views
0

Как включить тип ввода = текст, только если нажата кнопка «другой».Многократная кнопка радио с текстовым вводом

<tr><td><font color='red' size='3'>*</font>CIVIL STATUS</td><td>:</td><td><input type='radio' name='civstat' value='Single' required='required'> Single 
            <br><input type='radio' name='civstat' value='Married' required='required'> Married 
            <br><input type='radio' name='civstat' value='Annuled' required='required'> Annuled 
            <br><input type='radio' name='civstat' value='Widowed' required='required'> Widowed 
            <br><input type='radio' name='civstat' value='Seperated' required='required'> Seperated 
            <br><input type='radio' name='civstat' required='required' onclick='civstattxton()'> Others, 
            please specify here<input type='text' name='civstat' id='civstaton'></td> 
            </tr> 
+0

Вы используете фреймворк javascript, например. JQuery? – calcinai

+0

Нет. Я просто новичок в Javascript. Я знаю только самые простые вещи. – RyanskyHeisenberg

ответ

1

Вы можете использовать JavaScript, чтобы отключить/включить вход на основе OnClick события каждого входа. Это довольно запутанно, но получает работу:

<tr><td><font color='red' size='3'>*</font>CIVIL STATUS</td><td>:</td><td><input type='radio' name='civstat' value='Single' required='required' onclick='document.getElementById("civstaton").setAttribute("disabled","disabled");document.getElementById("civstaton").value = "";'> Single 
           <br><input type='radio' name='civstat' value='Married' required='required' onclick='document.getElementById("civstaton").setAttribute("disabled","disabled");document.getElementById("civstaton").value = "";'> Married 
           <br><input type='radio' name='civstat' value='Annuled' required='required' onclick='document.getElementById("civstaton").setAttribute("disabled","disabled");document.getElementById("civstaton").value = "";'> Annuled 
           <br><input type='radio' name='civstat' value='Widowed' required='required' onclick='document.getElementById("civstaton").setAttribute("disabled","disabled");document.getElementById("civstaton").value = "";'> Widowed 
           <br><input type='radio' name='civstat' value='Seperated' required='required' onclick='document.getElementById("civstaton").setAttribute("disabled","disabled");document.getElementById("civstaton").value = "";'> Seperated 
           <br><input type='radio' name='civstat' required='required' onclick='document.getElementById("civstaton").removeAttribute("disabled");'> Others, 
           please specify here<input type='text' name='civstat' id='civstaton' disabled></td> 
           </tr> 

Вот дем: JSBIN

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

+0

Я намерен хранить эти данные в базе данных .. Будет ли конфликт с этим решением? – RyanskyHeisenberg

+0

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

+0

Нет проблем, но если вы серьезно относитесь к JavaScript, я рекомендую [jQuery] (http://learn.jquery.com/about-jquery/how-jquery-works/) – dnapierata

0
<input type='radio' name='civstat' required='required' 
     onclick='document.getElementById("civstaton").disabled = false'> 
     Others, please specify here 
    <input type='text' name='civstat' id='civstaton' disabled> 

DEMO

+0

Спасибо! Это отлично работает. Спасибо! ^^ – RyanskyHeisenberg

+1

Я рекомендую вам использовать решение [@ dnapierata] (http://stackoverflow.com/a/16350559/603127), потому что он снова возвращается обратно и отключает текстовое поле, если щелкнуть любой другой переключатель. – ocanal

+0

Я тестировал его снова, но если я выберу другую радиокнопку после того, как я нажал кнопку «Другие», текстовое поле по-прежнему будет включено. В любом случае спасибо .. ^^ – RyanskyHeisenberg

Смежные вопросы