I have a script that clicks a button after a selected period of time. A user clicks a radio button if a change in time is needed. I have the 10s
radio button as default but this seems to be making the button click buggy, and I get random button clicks. How can I disable the default button from being 'checked' to 'unchecked' when a user clicks a different button.
I have implemented an addEventListener()
but I'm not able to disable the default radio button from the checked state after another button is clicked.
document.getElementById("testButton").onclick = function() {clickFunction()}
function clickFunction(){
var newElem = document.createElement("p");
newElem.innerHTML = "A click here!";
document.body.appendChild(newElem);
}
function clickOnInterval(intervalNo){
setInterval(function(){
document.getElementById("testButton").click();
},intervalNo);
}
if(document.querySelector('input[name="time"]')){
document.querySelectorAll('input[name="time"]').forEach((element)=>{
element.addEventListener("change",function(e){
//doesn't work ;-;
if(e.target.id == 'thirty'){
radioUnChecked('ten')
}
checkButton();
});
});
}
function checkButton(){
if(document.getElementById('ten').checked){
clickOnInterval(10000);
}
else if(document.getElementById('fifteen').checked){
clickOnInterval(15000);
}
else if(document.getElementById('thirty').checked){
clickOnInterval(30000);
}
if(document.getElementById('onemin').checked){
clickOnInterval(60000);
}
}
if(document.getElementById('ten').checked){
checkButton();
}
function radioUnChecked(id) {
document.getElementById(id).checked = false;
}
//checkButton();
// function radioChecked(id) {
// document.getElementById(id).checked = true;
// }
<form id="radio-form">
<input type="radio" name="time" value="10s" id="ten" checked="checked">
<label for="ten">10s</label>
<input type="radio" name="time" value="15s" id="fifteen">
<label for="ten">15s</label>
<input type="radio" name="time" value="30s" id="thirty">
<label for="ten">30s</label>
<input type="radio" name="time" value="60s" id="onemin">
<label for="ten">60s</label>
</form>
<br>
<button type="button" id="testButton">Meow</button>