2013-03-04 2 views
0

Итак, есть 2 радиоустройства, и я хочу, чтобы пользователь выбирал, какой из них выполнить, после того как пользователь выберет один из них, он нажмет на кнопку «Рисовать!». и выведет результат из одной из функций выбранного радиодетектора. Но я не могу понять, как вызвать любую функцию и ждать, пока пользователь не нажмет на кнопку «Рисовать!». чтобы фактически вызвать функцию.Как сделать кнопку нажатой до вывода результатов?

у меня в HTML:

<p> 
Do you want to <input type="radio" name="draw" id="draw" value="drawTriangle">Draw Triangle 
or 
<input type="radio" name="draw" id="draw" value="drawZigZag">Draw ZigZag<br> 
<input type="button" value="Draw!" onclick="drawEither()"> 
</p> 

<pre id="outputTriangle"> 
</pre> 

<pre id="outputZigZag"> 
</pre> 

и Javascript:

function makeZigZag() { 
var sizeTextField = document.getElementById('sizeTextField') 
//block of codes 
drawButton.onclick = function() { 
    outputTri.innerHTML = makeTriangle(sizeTextField.value); 
}; 

} 

function makeTriangle() { 
var sizeTextField = document.getElementById('sizeTextField') 
//block of codes 
drawButton.onclick = function() { 
    outputZZ.innerHTML = makeTriangle(sizeTextField.value); 
}; 
} 

function drawEither() { 
outputTri = document.getElementById('outputTriangle'); 
outputZZ = document.getElementById('outputZigZag'); 
} 
+0

Kenenth, пожалуйста, правильно отформатируйте свой код и принесите имена полей ввода DOM в синхронизацию с кодом JavaScript. BTW: Откуда появился ваш 'drawButton'? –

ответ

0

Один подход был бы цикл, чтобы проверить, какая кнопка радио выбрана. Что-то вроде:

function drawEither() { 
    if (document.getElementById('drawTriangle').checked) { 
    do stuff for radio 1 
    } else { 
    do stuff for radio 2 
    } 
} 

Кстати, у вас есть дубликаты идентификаторов в вашем примере HTML. Идентификаторы должны быть уникальными. Я использовал предложенный ID в моем примере.

+0

Зачем вам нужен цикл. У нас были события для этого в DOM. –

+0

Я не уверен, как можно щелкнуть кнопку на кнопках с помощью переключателей для нажатия кнопки. Не стесняйтесь публиковать альтернативный ответ. – isherwood

+0

Я комментировал первую версию вашего ответа. Теперь это прекрасно, теперь ваш 'drawEither()' является обработчиком события onclick() на кнопке Draw. Все хорошо. :-) –

Смежные вопросы