0

このスクリプトは、主に私が望むように機能します。ラジオのチェックボックスが選択されていない場合にアラートを出します。ただし、すべてのボタンが選択されている場合は、フォームを送信する必要があります...そこで電話を切ります。現在、すべてのフィールドとボタンが選択されている場合でも、varalertMsgでアラートが表示されます。何か案は?

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();
};
4

4 に答える 4

2

フォームを送信する前に返品があります。それは問題の一部かもしれません。

また、最後のifステートメントにelseがありません。

于 2012-05-30T02:41:28.367 に答える
1

フォーム送信行の前に戻るので、呼び出されることはありません。

于 2012-05-30T02:41:54.150 に答える
1

検証に関係なく、falseを返します。コードの末尾を次のように変更します。

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の最終的な値の長さを、最初に設定したものと照合します。

于 2012-05-30T02:50:18.177 に答える
-1
var alertMsg = "";

//....

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

;そして、すべてのステートメントに追加してください。

于 2012-05-30T02:41:05.293 に答える