0

( ) の値が と の間にないalert場合に表示しようとしていますが、機能しません。値が と の間にある場合でもアラートが表示されます。inputinp_valminvaluemaxvalueminvaluemaxvalue

function compare(e){
    this_id = e.id.slice(10,15);
    inp_val = e.value;
    minvalue = document.getElementById('min_' + this_id).value;
    maxvalue = document.getElementById('max_' + this_id).value;
    console.log(maxvalue);
    console.log(minvalue);
    console.log(inp_val);
    if(inp_val < minvalue){
        alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
    }
    if(inp_val > maxvalue){
        alert('Maximum Value: ' + maxvalue + ' Input Value: ' + inp_val);
    }
}

私は関数を次のものと比較して呼び出していますonBlur():

echo '<input class="result_fields" autocomplete="off" onBlur="compare(this)" id="result_inp' . $idc . '" type="text" name="test_res' . $idc . '" />'

jQueryでこれをやろうとしましたが、同じエラーです。Minvalue と maxvalue はinputタイプhiddenであり、その値は MySQL の DB に保存され、次のように php で取得されます。

echo '<input type="hidden" value="' . $val_test . '" name="test_name' . $idc . '" id="test_name' . $idc . '" class="testN" />';

php 変数$idcはインクリメンタル関数$idc++です。

4

3 に答える 3

1

<整数値にand演算子を適用する必要がある>ため、文字列値を整数に解析してから比較します。

if(parseInt(inp_val,10) < parseInt(minvalue,10)){
        alert('Minimum Value: ' + minvalue + 'Input Value: ' + inp_val);
    }
于 2013-04-05T20:23:50.847 に答える