<form name = "f1" method = "GET">
<form name = "f1">
<input type = "text" name = "rd" id = "rd">
<input type = "text" name = "fala" id = "rd">
<button onclick = "cal()"></button>
</form>
Как использовать вложенную функцию в javascript для печати вывода в HTML.
function abc() {
var radius = document.f1.rd.value;
document.write(radius)
}
function def() {
var fala = document.f1.fala.value;
document.write(fala)
}
function cal() {
def()
abc()
}
Вложенные функции должны вызываться одной функцией, а затем будут использоваться в кнопке при событии щелчка.
call() не имеет вложенных функций. Он просто вызывает функции def() и abc(). Вы спрашиваете, как заставить call() выполнять onClick?
Хорошо . Итак, как использовать эту функцию call () для вывода вывода двух других функций в HTML?
Функции предполагают, что в HTML есть форма с двумя входными элементами. У тебя есть такие? В противном случае код работать не будет.
Я отредактировал свой пост, чтобы добавить те
кнопка onclick = "cal ();" но поскольку это document.write, это может работать не так, как ожидалось. Начать здесь: developer.mozilla.org/bm/docs/Web/JavaScript/Guide
Возможный дубликат, и ответ можно легко найти, если провести дополнительное исследование. stackoverflow.com/q/3212477/10424104



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


// Cache the elements and add a click listener to the button
const out = document.getElementById('out');
const button = document.querySelector('button');
button.addEventListener('click', cal, false);
function abc() {
var radius = document.f1.rd.value;
// Instead of using `document.write`
// append the value to the output div
out.innerHTML += radius + '<br />';
}
function def() {
var fala = document.f1.fala.value;
out.innerHTML += fala + '<br />'
}
function cal(e) {
// Prevent the form from submitting to the server
e.preventDefault();
def();
abc();
}<form name = "f1">
<label>RD</label><input name = "rd" />
<label>FALA</label><input name = "fala" />
<button>Cal!</button>
</form>
<div id = "out"></div>Спасибо за помощь :)
Две вещи:
button внутри form по умолчанию инициируют submit, вы можете "нейтрализовать" их, установив для их type значение button.document.write() уничтожает страницу, используйте элемент для выдачи результатов (например, div) и его innerHTML:function cal(){
result.innerHTML=rd.value+", "+fala.value;
}<form name = "f1" method = "GET">
<input type = "text" name = "rd" id = "rd"><br>
<input type = "text" name = "fala" id = "fala"><br>
<button type = "button" onclick = "cal()">Click me!</button>
</form>
<div id = "result"></div>Попробуйте использовать журнал консоли и заблокируйте отправку формы по умолчанию.
<form name = "f1">
<input type = "text" name = "rd" id = "rd0">
<input type = "text" name = "fala" id = "rd1">
<button onclick = "cal(event)">click</button>
</form>
<script type = "text/javascript">
function abc() {
var radius = document.forms.f1.rd.value;
console.info(radius);
}
function def() {
var fala = document.forms.f1.fala.value;
console.info(fala);
}
function cal(event) {
def();
abc();
event.preventDefault();
}
</script>
так должно быть внутри функции "cal"?