Вложенная функция (Javascript)

<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()
}

Вложенные функции должны вызываться одной функцией, а затем будут использоваться в кнопке при событии щелчка.

так должно быть внутри функции "cal"?

adnan 15.12.2018 20:07
call() не имеет вложенных функций. Он просто вызывает функции def() и abc(). Вы спрашиваете, как заставить call() выполнять onClick?
Mark 15.12.2018 20:08

Хорошо . Итак, как использовать эту функцию call () для вывода вывода двух других функций в HTML?

adnan 15.12.2018 20:09

Функции предполагают, что в HTML есть форма с двумя входными элементами. У тебя есть такие? В противном случае код работать не будет.

Andy 15.12.2018 20:13

Я отредактировал свой пост, чтобы добавить те

adnan 15.12.2018 20:16

кнопка onclick = "cal ();" но поскольку это document.write, это может работать не так, как ожидалось. Начать здесь: developer.mozilla.org/bm/docs/Web/JavaScript/Guide

A. Meshu 15.12.2018 20:18

Возможный дубликат, и ответ можно легко найти, если провести дополнительное исследование. stackoverflow.com/q/3212477/10424104

Lloyd Nicholson 15.12.2018 22:42
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
7
147
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

// 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>

Спасибо за помощь :)

adnan 15.12.2018 20:32

Две вещи:

  • 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>

Другие вопросы по теме