2017-06-04 2 views
0

Ich habe eine Optionsschaltfläche mit dem Namen "Sonstige/Abfrage", und wenn es aktiviert ist, wird die Textfläche unterhalb der Anforderung mit dem erforderlichen Attribut benötigt.So entfernen Sie das erforderliche Attribut aus dem Element, das nur Javascript verwendet, wenn das Optionsfeld nicht markiert ist?

Ich möchte das erforderliche Attribut aus dem TextArea-Element entfernen, wenn das Optionsfeld 'Andere/Abfrage' deaktiviert ist und nur JavaScript verwendet wird.

Ist es möglich, das erforderliche Attribut zu entfernen, wenn ein Optionsfeld nicht markiert ist?

Ich verwende derzeit das unten stehende JS, das das erforderliche Attribut hinzufügt, es aber nicht entfernt, wenn es nicht markiert ist.

var gquery = document.getElementById("genquery"); 
var comment = document.getElementById("comments"); 
    gquery.addEventListener('change', function(){ 
    comment.required = this.checked; 
}); 
if(gquery.required = false){ 
    comment.required = false; 
}; 

Jede Hilfe wird sehr geschätzt.

+0

du so gemeint hat? https://jsfiddle.net/alfrcr/wrqdL6jh/ –

+0

@AlfredCrosby, Sie brauchen nicht die zwei 'comment.classList.add' /' .remove' Zeilen tatsächlich, ändern Sie einfach die CSS-Regel in 'textarea [required =" erforderlich "]' [** jsFiddle **] (https://jsfiddle.net/wrqdL6jh/2/) –

+0

ja das sieht besser aus und sauberer @ Mi-Creativity –

Antwort

0

können Sie verwenden diese

gquery.addEventListener('click', function(event){ 
    if (this.checked) { 
    comment.classList.add('required') 
    comment.setAttribute('required', 'required') 
    } 
}); 

genquerytwo.addEventListener('click', function(event){ 
    if(this.checked) { 
    comment.classList.remove('required') 
    comment.removeAttribute('required') 
    } 
}); 

es Siehe in Aktion ->Fiddle

Aktualisiert Geige ->Updated Fiddle(v2)

+0

Danke für Ihre Antwort, aber es war nicht erfolgreich. Ich verwende Optionsfelder, keine Kontrollkästchen. Ich kann dem TextArea-Element das erforderliche Attribut hinzufügen, aber ich kann es immer noch nicht entfernen, wenn ich ein anderes Optionsfeld anwähle. Der Zweck davon ist, dem Benutzer zu erlauben, einen anderen Radioknopf auszuwählen, wenn sie versehentlich den Radioknopf Anderes auswählten. Ihnen die Option geben, keinen erforderlichen Kommentar hinzuzufügen. –

+0

@ GrahamO'Mahony Ich habe die Antwort aktualisiert. –

+0

Danke. Ich schätze deine Hilfe, aber es funktioniert nicht mit mehreren Radio-Tasten: Ich habe insgesamt 6. Nur ein Optionsfeld sollte das erforderliche Attribut hinzufügen. Wenn ich auf einen der anderen 5 Optionsfelder klicke, sollte das Attribut entfernt werden. Ich habe eine Variable für einen Klassennamen deklariert, aber es war nicht erfolgreich. Ich habe auch das erforderliche Attribut für jede der Eingabemarken der Optionsfelder fest programmiert. Denken Sie, dass das ein Teil des Problems ist? –

Verwandte Themen