Функция для использования заглавных букв в первых символах каждого слова в строке

Это попытка использовать слова «фамилия, имя» с заглавной буквы, но она не работает. Я не могу понять, почему это не сработает. ты можешь помочь мне с этим?

function validateForm() {

  var memName = document.getElementById('mem-name').value;
  var memRating = document.getElementById('mem-rating').value;
  var memClass = document.getElementById('mem-class').value;

  if (memName == "") {
    alert("Name must be filled out");
    return false;
  }
  if (memRating == "") {
    alert("Rating must be filled out");
    return false;
  }
  if (memClass == "") {
    alert("Class must be filled out");
    return false;
  }

  capitalize_Words(memName);

  //capitalize_Words 
  function capitalize_Words(memName) {
    return memName.replace(/\w\S*/g, function(txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
  }

  members.push({
    Name: memName,
    Class: memClass,
    Rating: memRating,
  });

  let temp = "New player added: " + memName;
  alert(temp);
  document.getElementById("newMember").reset();

}

Выберите один: google.com/…

ibrahim mahrir 15.05.2018 03:20
Кажется, работает. Какой вывод / ошибка вы получаете?
Ry- 15.05.2018 03:20

... также как вы это используете?

ibrahim mahrir 15.05.2018 03:21
verlager.com/super-dev.php строка 185
verlager 15.05.2018 03:26
Поведение ключевого слова "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) для оценки ваших знаний,...
1
4
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Строки неизменны; простой вызов capitalize_Words(memName);, который вызывает replace в строке, не меняет строку, это просто возвращает новую строку. Ваш код вызывает capitalize_Words и игнорирует результат; вместо этого сохраните результат в переменной.

function validateForm() {
  const memName = document.getElementById('mem-name').value;
  const memRating = document.getElementById('mem-rating').value;
  const memClass = document.getElementById('mem-class').value;
  if (memName == "") {
    alert("Name must be filled out");
    return false;
  }
  if (memRating == "") {
    alert("Rating must be filled out");
    return false;
  }
  if (memClass == "") {
    alert("Class must be filled out");
    return false;
  }
  const capitalizedMemName = capitalize_Words(memName);
  function capitalize_Words(memName) {
    return memName.replace(/\w\S*/g, function(txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
  }
  members.push({
    Name: capitalizedMemName,
    Class: memClass,
    Rating: memRating,
  });
  const temp = "New player added: " + memName;
  alert(temp);
  document.getElementById("newMember").reset();
}

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