Как активировать функцию onlick (), только если установлен переключатель? - PullRequest
1 голос
/ 14 марта 2020

Я практикую свою JS, и я играю в линкор. У меня сетка кнопок 10х10. Каждая кнопка имеет функцию reply_click(), которая дает мне id, соответствующую соответствующей позиции в сетке.

<button id="00" onclick="reply_click(this.id)"></button>

и

function reply_click(clicked_id) {
   //some code 
}

Я хочу запустить только функцию reply_click() когда переключатель установлен и игнорируется во всех других сценариях ios.

Я попытался создать переключатель с функцией onclick(), которая проверяет, установлен ли этот переключатель, но не смог поместить в нее функцию reply_click().

Пример:

<input type="radio" id="1s" name="ship" onclick="check()">
<label for="1s">1 square ship</label><br>

и

function check() {
   if (document.getElementById('1s').checked) {
       //dont know what to put here
   }
}

Ответы [ 3 ]

2 голосов
/ 14 марта 2020

взгляните на это решение. Не совсем уверен, что вы спрашиваете, но похоже, что это может помочь.

function reply_click(clicked_id) 
    {
       console.log(clicked_id);
       if(clicked_id !== "00")console.log('do stuff');
    }


function check(event)
{
    
    if(document.getElementById(event.id).checked)
        {
           reply_click(event.id);
        }
}
<button id="00" onclick="reply_click(this.id)"></button>


<input type="radio" id="1s" name="ship" onclick="check(this)">
<label for="1s">1 square ship</label><br>
1 голос
/ 14 марта 2020

Вы можете disable кнопку и только enable, когда кнопка radio установлена ​​ проверена

function reply_click(clicked_id) {
  console.log("Definaley i am not disabled now: "+clicked_id); 
}


function check()
{
    if(document.getElementById('1s').checked)
        {
          
           document.getElementById("00").disabled = false;
           document.getElementById("00").innerText = "Now i am enable";
        }
}
<input type="radio" id="1s" name="ship" onclick="check()">
<label for="1s">1 square ship</label><br>

<button id="00"  onclick="reply_click(this.id)" disabled>I am disabled</button>
1 голос
/ 14 марта 2020

Добавить оператор if внутри reply_click .. например:

function reply_click(clicked_id) {
    if (document.getElementById('1s').checked) {
        //  Do stuff
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...