1

multiselect 配列が空であるかどうかを検証するにはどうすればよいですか?(fallos[]) 私のコードは次のとおりです:

<tr><td>Fallos reportados: </td><td><select name="fallos[]" size="6" multiple="multiple" >
    <?php 
    $query = "SELECT falla_id,falla FROM falla order by falla";
    $result = mysql_query($query);
    if (!$result) die ("Database access failed: " . mysql_error());
while ($fila = mysql_fetch_array($result, MYSQL_ASSOC)){
    echo "<option value=\"".$fila["falla_id"]."\">".$fila["falla"]."</option>";
}
    ?></td>
</tr>

これが私が行っている検証ですが、機能しません

function validate(form) {
    fail  = validateIMEI(form.IMEI.value)
    fail += validateTelefono(form.numero_telefono.value)
    fail += validateICCID(form.ICCID.value)
    fail += validateFallos(form.fallos.value)
    if (fail === "") return true
    else { alert(fail); return false }

}

fallos[] を検証する特定のオプションは次のとおりです。

function validateFallos(field) {
    if(field=== "") return "No se ha ingresado tipo de fallos"
    //if (field==="") return "No se han ingresado los tipos de fallos.\n"
    return ""
}
4

2 に答える 2

3
validateFallos(form.fallos.value)

form含まれていませんfallos。または more preferredfallos[]でアクセスできる名前の select 要素があります。固執したい場合は、選択タグに追加する必要があります。form['fallos[]']form.elements['fallos[]']form.fallosid="fallos"

于 2013-07-17T22:38:25.353 に答える
0

コード行の最後にセミコロンがありません...

function validate(form) {
    fail  = validateIMEI(form.IMEI.value)
    fail += validateTelefono(form.numero_telefono.value)
    fail += validateICCID(form.ICCID.value)
    fail += validateFallos(form.fallos.value)
    if (fail === "") return true
    else { alert(fail); return false }
}

する必要があります

function validate(form) {
    fail  = validateIMEI(form.IMEI.value);
    fail += validateTelefono(form.numero_telefono.value);
    fail += validateICCID(form.ICCID.value);
    fail += validateFallos(form.fallos);
    if (fail === "") return true;
    else { alert(fail); return false; }
}

また、複数選択入力には配列が含まれるため、それが と等しいかどうかを確認することはできません""。代わりに、配列をループして、次のように選択されているかどうかを確認します。

function validateFallos(fallosField) {
    var empty = true;
    for (i=0; i < fallosField.length; i++) {
        if (fallosField[i].selected) {
            return "";
        }
    }
    return "No se ha ingresado tipo de fallos";
}

fail += validateFallos(form.fallos.value)に変更したことに注意してくださいfail += validateFallos(form.fallos)

于 2013-07-17T22:29:43.183 に答える