Создание кнопки магазина для добавления / удаления суммы и отображения суммы (очень простой)

Обращение за помощью в создании кнопок добавления и вычитания в форме для добавления и удаления количества запаса.

Похожий на:

Создание кнопки магазина для добавления / удаления суммы и отображения суммы (очень простой)

Я новичок в html и очень новичок в javascript.

function minus(){
	var bCount = parseInt(document.calculateCart.count.value);
	var count = bCount--;
	document.calculateCart.count.value = count;
  }
function minus(){
	var bCount = parseInt(document.calculateCart.count.value);
	var count = bCount++;
	document.calculateCart.bCount.value = count;
}
<div class = "productForm">
  <form name = "calculateCart" action = "#">
	  <div class = "+-Buttons">
		  Quantity <br>
		<input type = "button" value = "-" onClick = "minus()">
		<input type = "int" name = "count" value=0>
		<input type = "button" value = "+" onClick = "add()">
	  </div>
	</form>
</div>

<input type = "number" min = "0" step = "1" placeholder = "0">

VXp 14.09.2018 14:22

Прежде всего, переименуйте вторую функцию с Минуса на Добавить.

Nagy István 14.09.2018 14:26

две опечатки, minus срабатывает дважды, а bCount -> count, bCount не содержит элемента count, а содержит какое-то число.

rlemon 14.09.2018 14:33
Поведение ключевого слова "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
3
66
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Обе ваши функции названы «минус». Один из них (второй) должен быть «добавлен».

Спасибо, просто скопируйте вставку, чтобы сэкономить время, обязательно перепроверьте в будущем

newCamelCoder 14.09.2018 14:26
  • у вас есть своего рода опечатка в вашем коде: ваша функция для добавления значения называется minus (). Итак, у вас есть две функции с одинаковым именем
  • Я считаю, что вы неправильно понимаете значение count. Вы должны назначить идентификатор для ввода и использовать getElementById

рабочий код:

function minus(){
        var bCount = document.getElementById('count').value;
        bCount--;
        document.getElementById('count').value = bCount;
   document.getElementById('count');
      }
    function add(){
        var bCount = document.getElementById('count').value;
        bCount++;
        document.getElementById('count').value = bCount;
   document.getElementById('count');
    }
<div class = "productForm">
  <form name = "calculateCart" action = "https://titan.csit.rmit.edu.au/~e54061/wp/processing.php">
      <div class = "+-Buttons">
          Quantity <br>
        <input type = "button" value = "-" onClick = "minus()">
        <input type = "int" name = "count" id = "count" value=0>
        <input type = "button" value = "+" onClick = "add()">
      </div>
    </form>
</div>

вы можете получить доступ к формам в документе с помощью document[formName], это не проблема (сама по себе), однако есть еще одна опечатка bCount -> count

rlemon 14.09.2018 14:31

Вам необходимо использовать document.getElementById, чтобы получить старое значение текстового поля.

Пожалуйста, проверьте код ниже:

function minus(){
	var oldVal = parseInt(document.getElementById("myVal").value);	
	oldVal--;
	document.getElementById("myVal").value = oldVal;

  }
function add(){
	var oldVal = parseInt(document.getElementById("myVal").value);	
	oldVal++;
	document.getElementById("myVal").value = oldVal;
}
<div class = "productForm">
  <form name = "calculateCart" action = "https://titan.csit.rmit.edu.au/~e54061/wp/processing.php">
	  <div class = "+-Buttons">
		  Quantity <br>
		<input type = "button" value = "-" onClick = "minus()">
		<input type = "text" id = "myVal" name = "count" value = "0">
		<input type = "button" value = "+" onClick = "add()">
	  </div>
	</form>
</div>
  1. у вас две функции minus, одна из них должна быть add
  2. если вы хотите использовать атрибут name для выбора, вам нужно использовать что-то вроде:

    document.getElementsByName ("количество") [0] .tagName

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

Если вы хотите изменить свой номер с помощью кнопок и ввода текста, вы можете изменить свой код на это:

<div class = "productForm">
    <form name = "calculateCart" action = "https://titan.csit.rmit.edu.au/~e54061/wp/processing.php">
        <div class = "+-Buttons">
            Quantity <br>
            <input type = "button" value = "-" onClick = "minus()">
            <input type = "number" name = "count" value=0>
            <input type = "button" value = "+" onClick = "add()">
        </div>
    </form>
</div>
<script>
    function minus(){
        document.calculateCart.count.value = --document.calculateCart.count.value;
    }

    function add(){
        document.calculateCart.count.value = ++document.calculateCart.count.value;
    }
</script>

В HTML не существует типа ввода - int, вам нужно использовать число или текст.

Если вы хотите изменить значение только с помощью кнопок, вы можете сделать это так:

<div class = "productForm">
    <form name = "calculateCart" action = "https://titan.csit.rmit.edu.au/~e54061/wp/processing.php">
        <div class = "+-Buttons">
            Quantity <br>
            <input type = "button" value = "-" onClick = "minus()">
            <span id = "your-number">0</span>
            <input type = "button" value = "+" onClick = "add()">
        </div>
    </form>
</div>
<script>
    var a = 0;

    function minus(){
        a -= 1;
        document.getElementById('your-number').innerHTML = a;
    }

    function add(){
        a += 1;
        document.getElementById('your-number').innerHTML = a;
    }
</script>

Спасибо вам огромное! Это сработало именно так, как задумано. Если бы я был жадным, есть ли способ сделать второй фрагмент кода, установив минимальное значение? Или это возможно только с тегами ввода, а не с тегами span?

newCamelCoder 14.09.2018 14:58

если вы хотите установить минимальное значение, вы можете проверить его в javascript, используя оператор if. Примерно так: if (a < 0) {} устанавливает несколько стилей для кнопки, которая выполняет минусовое действие, например, делает кнопку отключенной.

Andrew Kovalchuk 14.09.2018 15:15

Спасибо. Я очень ценю это

newCamelCoder 14.09.2018 15:19

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