Member 12895537 Ответов: 3

Как написать сумму денег, не превышающую диапазон, указанный в форме категории?


У меня есть html-форма для категории Путешествия (бюджетная категория), например 1. 2. не слишком много и 3. Делайте как можно больше .Все категории имеют свой бюджетный / денежный диапазон.

После выбора категории пользователю необходимо вставить сумму денег в текстовое поле .
Что я хочу, так это как это сделать, когда пользователь вставляет сумму, чтобы его сумма не превышала диапазон выбранной им категории. например, если он выберет take it easy (диапазон RM 500 - RM 1000), то если он вставит сумму ниже 500 или превысит 1000, то появится ошибка и нужно будет вставить снова. ?

Что я уже пробовал:

<label for="budget">Category Budget</label>
   <select id="budget" name="budget">
   <option value="select">Please Select<option>
   <option value="take_it_easy">Take It Easy: RM 500 - RM 1000</option>
   <option value="not_too_much">Not to Little Not to Much: RM 1000 - RM 5000</option>
   <option value="Do_as_much_as_possible">Do As Much As Possible: RM 5000 - and above</option>
    </select>

<label for="amount">Your Amount</label>
<input type="number" id="amount" name="amount" required="required" placeholder="Eg: RM 1000">

3 Ответов

Рейтинг:
5

Andy Lanng

Вот решение для проверки значений (опять же, это должно быть просто отправной точкой, и это ни в коем случае не окончательная рабочая версия. Если это так то это просто совпадение)


<script>
window.onload = function() {
    var amount= document.getElementById('amount');
    amount.onchange = function() {
            switch(select .selectedIndex) {
                case 0:
                  CheckMinMax(500,1000,amount)
                  break;
                //case etc.....
            }
        }
}

function SetMinMax(min,max, amount){
   if(amount.val() < min){
     alert("You promised me more money!")
   }
   else if(amount.val() > max){
     alert("Woh, dude.  Go easy!  This is too much.")
   }
}
</script>

<label for="budget">Category Budget</label>
   <select id="budget" name="budget">
   <option value="select">Please Select<option>
   <option value="take_it_easy">Take It Easy: RM 500 - RM 1000</option>
   <option value="not_too_much">Not to Little Not to Much: RM 1000 - RM 5000</option>
   <option value="Do_as_much_as_possible">Do As Much As Possible: RM 5000 - and above</option>
    </select>

<label for="amount">Your Amount</label>
<input type="number" id="amount" name="amount" required="required" placeholder="Eg: RM 1000">





Надеюсь, это поможет ^_^


Member 12895537

спасибо Энди за вашу помощь в моем старте и концепции. однако я получил лучший результат с этим кодом. и я делюсь с тобой :)



функция validateAmount(){

var amountT = document. getElementById ('сумма'). value;
var cat_budgetTotal = document. getElementById ('cat_budget'). value;

if (cat_budgetTotal = = " 1"){
если(amountT &ГТ;=500 &&усилителя; amountT &амп;ЛТ;=1000){
предупреждение ("ваша сумма действительна вместе с пакетом: [успокойтесь]");
}
ещё{
предупреждение ("ваша сумма не действительна для пакета: [успокойтесь]");
}
}
if (cat_budgetTotal = = " 2"){
если(amountT &ГТ;=1000 &&усилителя; amountT &амп;ЛТ;5000){
alert ('ваша сумма действительна вместе с пакетом: [Not To Little Not to Much]');
}
ещё{
alert ('ваша сумма не действительна для пакета: [Not To Little Not to Much');
}
}
if (cat_budgetTotal = = " 3"){
если(amountT &ГТ;=5000 &&усилителя; amountT &амп;ЛТ;10000){
предупреждение ("ваша сумма действительна вместе с пакетом: [сделайте как можно больше]");
}
ещё{
предупреждение ("ваша сумма не действительна для пакета: [сделайте как можно больше]");
}
}

}

Andy Lanng

Круто. Это именно то, что я выше только что написал по-другому ^_^

Рейтинг:
24

Andy Lanng

Вам придется включить некоторый javascript, чтобы установить входной атрибут max / min.


<script>
window.onload = function() {
    var select = document.getElementById('budget');
    select .onchange = function() {
            switch(select .selectedIndex) {
                case 0:
                  SetMinMax(500,1000)
                  break;
                //case etc.....
            }
        }
}

function SetMinMax(min,max){
   document.getElementByID("amount").setAttribute("min", min);
   document.getElementByID("amount").setAttribute("max", max);
}
</script>

<label for="budget">Category Budget</label>
   <select id="budget" name="budget">
   <option value="select">Please Select<option>
   <option value="take_it_easy">Take It Easy: RM 500 - RM 1000</option>
   <option value="not_too_much">Not to Little Not to Much: RM 1000 - RM 5000</option>
   <option value="Do_as_much_as_possible">Do As Much As Possible: RM 5000 - and above</option>
    </select>

<label for="amount">Your Amount</label>
<input type="number" id="amount" name="amount" required="required" placeholder="Eg: RM 1000">



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

Надеюсь, это поможет ^_^


Member 12895537

Я все еще могу отправить любую сумму, которую вставлю в базу данных. Возможно, должно быть сообщение об ошибке во всех наборах max и min.Могу ли я знать, в какую часть я должен поместить такой код ошибки -
ErrorMessage= " недопустимая сумма в вашей категории. Пожалуйста, введите действительную сумму"

Andy Lanng

Во-первых, взгляните на второе решение. Для меня это звучит разумно. Прокомментируйте эту мысль, чтобы я мог хотя бы понять, откуда вы пришли

Member 12895537

Я уже комментирую. Это не ценовой диапазон. Перед этим я спросил о подсчете общей стоимости из базы данных, это сначала мой метод проб и ошибок, как я могу рассчитать общую цену для выбранного пункта назначения. Эта цена и та сумма цены, которую я запрашивал ранее, предназначены для пункта назначения, установленного администратором. Этот вопрос представляет собой диапазон бюджета, который пользователь должен указать, и его сумма зависит от выбранной категории. Я все еще в процессе разделения. На самом деле пользователю нужно вставить информацию о поездке, включая сначала выбрать их категорию и ввести свою сумму, поэтому, когда они отправят, я дам им план маршрута или план назначения (пункт назначения с ценой и общей суммой). Им нужно вставить сумму, потому что в конце я хочу вычтите их сумму из общей стоимости пункта назначения, и они узнают свои деньги на балансе. Это не на той же странице, и это другой процесс. Поэтому мне нужно убедиться, что сумма денег, которую вводит пользователь, соответствует категории.

Andy Lanng

Ах, круто. Так что это просто" доказательство концепции".

Ну, есть несколько способов обойти это. Вместо того чтобы устанавливать max и min, вы можете добавить событие onchange к входным данным и затем проверить сумму. Мне придется написать для него другое решение, Тхо. Дай мне несколько

Рейтинг:
12

Peter Leow

- Подожди минутку. Почему кто-то хочет выбрать ценовой диапазон, ввести цену, а затем получить скрипт для проверки согласованности всех на одной странице? В этом нет никакого смысла. Я предлагаю вам пересмотреть свой дизайн.
Кстати, я помню ваш предыдущий вопрос о Как вычислить сумму только для одного столбца в PHP?[^] что я помог вам решить. Если вы хотите ожидать больше помощи в будущем,вернитесь туда и все исправьте.


Member 12895537

Вас неправильно поняли. Это не ценовой диапазон. та сумма, которую я просил ранее, предназначена для пункта назначения, установленного администратором. Этот вопрос представляет собой диапазон бюджета, который пользователь должен указать, и его сумма зависит от выбранной категории. Я все еще в процессе разделения, так что, похоже, вы запутались. На самом деле пользователю нужно вставить информацию о поездке, включая сначала выбрать их категорию и ввести свою сумму, поэтому, когда они отправят, я дам им план маршрута или план назначения (пункт назначения с ценой и общей суммой). Им нужно вставить сумму, потому что в конце я хочу вычтите их сумму из общей стоимости пункта назначения, и они узнают свои деньги на балансе. Это не на той же странице, и это другой процесс.