У меня есть веб-форма php, с которой мне нужна помощь.
В этой части формы используется javascript. Установка переключателей рядом с параметрами заполняет сборы в соответствующих текстовых полях, и эти значения текстовых полей рассчитываются в текстовом поле «Общая сумма».
Пользователь может выбрать только один язык за 75 долларов. У них также есть возможность выбрать соответствующий кредит для этого языка за 275 долларов.
Если человек выбирает только вариант кредита, я хочу, чтобы также была выбрана кнопка соответствующего языка, и обе комиссии должны отображаться в соответствующих полях и правильно рассчитываться в общей сумме.
Если человек передумает и выберет другой язык, другие переключатели из его прежнего выбора должны отменить выбор, а соответствующие текстовые поля платы должны быть очищены. Вот тут у меня беда. Когда я меняю выбор, форма не всегда очищает текстовые поля промежуточных итогов из предыдущего выбора и продолжает добавлять комиссию из предыдущего выбора в общий итог. (Общая сумма формы никогда не должна превышать 307 долларов.)
Я не являюсь опытным программистом, и я признаю, что код, который я использую, не самый современный/эффективный. С тех пор, как был написан исходный javascript в таком виде, jquery и php стали доминирующими. Эта форма использует смесь javascript старой школы, jquery и php. Я приветствую все возможные решения для выполнения этой задачи.
Поэтому я обращаюсь к этому сообществу с благодарностью за любое время, потраченное на помощь мне в обучении.
function total()
{
var total=0;
var reg=0;
if (window.document.registration.dutch_EENCx075_27745.checked) {
reg=reg+75; window.document.registration.dutch_EENCx075_27745_subtotal.value=75;
} else {window.document.registration.dutch_EENCx075_27745_subtotal.value = ""; }
if (window.document.registration.dutch_WLC110_27750.checked) {
window.document.registration.dutch_EENCx075_27745.checked = true;
reg=reg+232; window.document.registration.dutch_WLC110_27750_subtotal.value=232;
reg=reg+75; window.document.registration.dutch_EENCx075_27745_subtotal.value=75;
} else {window.document.registration.dutch_WLC110_27750_subtotal.value = "";}
if (window.document.registration.esl_EENCx075_27745.checked) {
reg=reg+75; window.document.registration.esl_EENCx075_27745_subtotal.value=75;
} else {window.document.registration.esl_EENCx075_27745_subtotal.value = ""; }
if (window.document.registration.esl_WLC110_27751.checked) {
window.document.registration.esl_EENCx075_27745.checked = true;
reg=reg+232; window.document.registration.esl_WLC110_27751_subtotal.value=232;
reg=reg+75; window.document.registration.esl_EENCx075_27745_subtotal.value=75;
} else {window.document.registration.esl_WLC110_27751_subtotal.value = ""; }
total = total + reg;
window.document.registration.amount1.value=total.toFixed(2);
}