0

選択したフィールドのいくつかの値を比較しようとしています。フォームを送信するときに、値が等しいかどうかを確認したいと思います。

ええと...私はここで2つの問題を抱えています。

  1. 初めてフォームを送信したとき、値は比較されません。例:id='idx'およびid='idy'に対してoption3を選択します。私の場合、option3はoption3と同じです。フォームを送信すると、値が等しいため、確認ボックスが表示されます。確認ボックスは表示されません。設定した値で再度サイトに電話し、フォームを送信します。確認ボックスが表示されます。id='idx'にオプション1を選択しました。これは、id='idx'とid='idy'の値が等しくないことを意味します。しかし、今度はボックスが再び表示されます。

私が欲しいのは、フォームを送信するときに値を比較する必要があるということです。それらが等しい場合は、確認ボックスが表示されます。

2.どういうわけか私のコードは1つの条件だけをチェックします。しかし、私のコードの2つのケースが当てはまる可能性があります。どうすれば解決できますか?

これは私のコードです:

  
var x = $('#idx option:selected').val();
var y = $('#idy option:selected').val();
var z = $('#idz option:selected').val();

$('#myform').submit(function() {
    if (x === y ) {
        if (confirm('text') == true){
            return true;
        } else {
            return false;
        }
    }
    if (x === z ) {
            if (confirm('text') == true){
            return true;
        } else {
            return false;
        }
    }
});

ご不明な点がございましたら、お問い合わせください。ご協力ありがとうございました。

4

1 に答える 1

1

まず、送信関数内に$('...')。val()行を配置する必要があります。そうしないと、ページの読み込み時に選択ボックスの値が取得されます。

次に、trueまたはfalseを返すと、その送信関数が終了するため、失敗した場合はfalseを返すか、条件の最後まで続行して、最後にtrueを返します。

于 2011-03-02T15:44:15.067 に答える