• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Mit Radio-Button Textbox disabeln

Robinson97

Mitglied
Hallo,
ich habe ein Formular in dem es die möglichkeit gibt entweder einen Code selber zu erstellen oder automatisch eingeben zu lassen, diese Auswahl mache ich mit Hilfe von zwei Radio Button. Ich möchte nun, dass zu beginn die Textbox zum selber erstellen disabeld ist und auf den Radio-Button klick "selber erstellen" wieder enabeld ist und beim erneuten klick auf den Radio Button "automatisch erstellen" wieder disabeld ist. Mein bisheriger Code:

HTML (wird mit PHP erstellt):
HTML:
<td>
                    <input type='radio' id='code_1' class='radio_b'name='code' value='1'>Automatischer Code</br>
                    <input type='radio' id='code_2' class='radio_b'name='code' value='2'>Eigener Code
                    <input type='text'  id='c_1'    class='textbox' name='eigner_code'></br>
                   
               
                </td>

Javascript(im Internet gefunden):
Code:
$(".radio_b").click(function() {
    $("#c_1").attr("disabled", true);
    if ($("input[name=code]:checked").val() == "2") {
        $("#c_1").attr("disabled", false);
    }
});

Funktioniert leider nicht :(
 
Werbung:
Javascript(im Internet gefunden):
Code:
$(".radio_b").click(function() {
    $("#c_1").attr("disabled", true);
    if ($("input[name=code]:checked").val() == "2") {
        $("#c_1").attr("disabled", false);
    }
});
Funktioniert leider nicht :(
Das Script, das du gefunden hast arbeitet mit JQuery und benötigt die Einbindung der JQuery-API.​
Dieser Code müsste gehen (Von mir getestet):
Javascript:
<script>
function pruefen(){
//Wenn der Radio-Button mit der ID code_1 ausgewählt wurde, dann...
if(document.getElementById('code_1').checked == true){
//...deaktiviere die Textbox
document.getElementById('c_1').disabled = true;
//ansonsten, wenn der Radio-Button mit der ID code_2 ausgewählt wurde, dann...
} else if(document.getElementById('code_2').checked == true){
//...aktiviere die Textbox
document.getElementById('c_1').disabled = false;
}
}
//Wiederhole diesen Prüfvorgang nun immer wieder
setInterval('pruefen();',500);
</script>
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Upsi; habe etwas vergessen; du wolltest ja, dass die Textbox zu beginn deaktiviert ist:
Ich möchte nun, dass zu beginn die Textbox zum selber erstellen disabeld ist
.....
Javascript:
<script>
function init(){
//Automatisch erstellen wird ausgewählt
document.getElementById('code_1').checked = true;
//und die Textbox durch den Aufruf von pruefen(); deaktiviert
pruefen();
}
function pruefen(){
//Wenn der Radio-Button mit der ID code_1 ausgewählt wurde, dann...
if(document.getElementById('code_1').checked == true){
//...deaktiviere die Textbox
document.getElementById('c_1').disabled = true;
//ansonsten, wenn der Radio-Button mit der ID code_2 ausgewählt wurde, dann...
} else if(document.getElementById('code_2').checked == true){
//...aktiviere die Textbox
document.getElementById('c_1').disabled = false;
}
}
//Wiederhole diesen Prüfvorgang nun immer wieder
setInterval('pruefen();',500);
//anfängliches Deaktivieren auslösen (Aufruf von init();)
init();
</script>
 
Ah ok , danke :)
Wo rufe ich denn am besten die init funktion auf ? bei pruefen konnte ich ja onclick benutzen...
 
Werbung:
Jo hat auch funktioniert ;), hatte nur nur anfangs nicht funktioniert weil PHP da irgendetwas anders haben wollte und keinen Fehler ausgegeben hat...
 
Zurück
Oben