Вопрос по validation, javascript, html – Отправка формы Javascript после проверки

0

Этот скрипт работает в основном так, как мне хотелось бы: оповещать, когда не установлен флажок радио. Однако, если все кнопки выбраны, мне нужна форма для отправки ... вот где я повесил трубку. Прямо сейчас, если все поля и кнопки выбраны, я все равно получаю оповещение с помощью var alertMsg. Есть идеи?

function submitform() {
    var sizeChoice = ""
    var size = document.store.on1.length
    var fontChoice = ""
    var len = document.store.on2.length
    var materialChoice = ""
    var material = document.store.on3.length
    var treatmentChoice = ""
    var treatment = document.store.on4.length
    var a = document.forms["store"]["item_name"].value;
    var alertMsg = "Please Choose a:"
    for(i = 0; i < size; i++) {
        if(document.store.on1[i].checked) {
            sizeChoice = document.store.on1[i].value
        }
    }
    for(i = 0; i < len; i++) {
        if(document.store.on2[i].checked) {
            fontChoice = document.store.on2[i].value
        }
    }
    for(i = 0; i < material; i++) {
        if(document.store.on3[i].checked) {
            materialChoice = document.store.on3[i].value
        }
    }
    for(i = 0; i < treatment; i++) {
        if(document.store.on4[i].checked) {
            treatmentChoice = document.store.on4[i].value
        }
    }
    if(a == null || a == "") alertMsg += "\n" + "Name" + "\n";
    if(sizeChoice == "") {
        alertMsg += "Size" + "\n"
    }
    if(fontChoice == "") {
        alertMsg += "Font" + "\n"
    }
    if(materialChoice == "") {
        alertMsg += "Material" + "\n"
    }
    if(treatmentChoice == "") {
        alertMsg += "Treatment" + "\n"
    } {
        alert(alertMsg)
    };
    return false;
    document.forms["form"].submit();
};
У вас есть синтаксическая ошибка в последний разif утверждение, похоже на дополнительную скобку. Также, чтобы вы зналиi является глобальным, вы можете определить его где-нибудь. elclanrs

Ваш Ответ

4   ответа
1

Ваше возвращение до отправки формы строки, поэтому он никогда не будет вызван.

2

У вас есть возврат до отправки формы. Это может быть частью проблемы.

Кроме того, вам не хватает еще одного в последнем операторе if.

+1 оператор return блокирует выполнение любого другого кода, который идет после него.
2

онец вашего кода с:

if(treatmentChoice == "") {
    alertMsg += "Treatment" + "\n"
} {
      alert(alertMsg)
};
return false;
document.forms["form"].submit();

чтобы:

if(treatmentChoice == "") {
    alertMsg += "Treatment" + "\n"
}
if(alertMsg.length > 16) {
    alert(alertMsg);
    return false;
} else {
    document.forms["form"].submit();
}

Проверка длины проверяет окончательную длину значения alertMsg на соответствие исходному значению.

-1
var alertMsg = "";

//....

if(alertMsg) {
    alert("Please Choose a:" + alertMsg);
} else {
    document.forms["form"].submit();
}

; к каждому утверждению.

xdazz, мне не ясно, как это помогает. Вы можете уточнить? (Кроме точки с запятой;) согласен на 100%)
@ j08691 Я пропустил, отредактировал сейчас.
alertMsg начинается как & quot; Пожалуйста, выберите: & quot ;, так когда же оно будет оценено как ложное?

Похожие вопросы