2017-06-04 42 views
0

我有一個名爲'其他/查詢'的單選按鈕,當它被選中時,它下面的textarea會變成需要使用required屬性。如何取消選中單選按鈕時僅使用Javascript從元素中刪除必需的屬性?

我想在'Other/Query'單選按鈕未選中時只使用JavaScript來從textarea元素中刪除所需的屬性。

當單選按鈕未選中時,是否可以刪除所需的屬性?

我目前正在使用下面的JS添加所需的屬性,但未選中時不刪除它。

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; 
}; 

任何幫助,非常感謝。

+0

你的意思是這樣的嗎? https://jsfiddle.net/alfrcr/wrqdL6jh/ –

+0

@AlfredCrosby,實際上你不需要兩個'comment.classList.add' /'.remove'行,只需將CSS規則改爲'textarea [required =「需要「]'[** jsFiddle **](https://jsfiddle.net/wrqdL6jh/2/) –

+0

是啊,看起來更好,更清潔@米創意 –

回答

0

您可以使用此

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') 
    } 
}); 

看到它在行動 - >Fiddle

更新小提琴 - >Updated Fiddle(v2)

+0

感謝您的回覆,但不成功。 我正在使用單選按鈕,而不是複選框。我可以將必需的屬性添加到textarea元素,但是當我選擇另一個單選按鈕時,我仍然無法將其刪除。 這樣做的目的是允許用戶選擇另一個單選按鈕,如果他們錯誤地選擇了其他單選按鈕。爲他們提供不添加必需評論的選項。 –

+0

@ GrahamO'Mahony我已經更新了答案。 –

+0

謝謝。我很感謝您的幫助,但它不適用於多個單選按鈕:我總共有6個。只有一個單選按鈕應該添加必需的屬性。如果我點擊其他5個單選按鈕中的任何一個,則應該刪除該屬性。我爲一個類名聲明瞭一個變量,但它不成功。我還將所需的屬性硬編碼到單選按鈕的每個輸入標籤。你認爲這是問題的一部分嗎? –

相關問題