0

フォーム要素は2つだけです。数字用です。数値が一致する場合(validateを使用)、スライドパネル(div)を開きます。

アンカーボタンやリンクはありません。

私が見つけた問題は、2回目のフィールドマッチが成功すると、パネルが下にスライドするきっかけになっています。ユーザーが2番目の入力フィールドから離れてクリックするのではなく、イベントの一致をリッスンして、成功するとdivが表示されるようにします。

それらが一致しない場合、またはユーザーが入力を変更した場合、divは閉じます。

...................ここにいくつかのコードがあります。

<input id="mobile1" name="mobile1">
<input id="mobile2" name="mobile2">

検証:

$(document).ready(function(){
    $("#form").validate({
        rules: {
            mobile1: "required",
            mobile2: {
                equalTo: "#mobile1"
            }
        }
    });
});   

スライダーは、jQueryの両方で使用、切り替え、スライドできるさまざまなバージョンのようです。

私の問題は、イベントリスナーが2番目の入力フィールドからスライダーパネルをトリガーするようにしたいことです。ユーザーが他の場所をクリックする必要はありません。

したがって、2番目の入力フィールドに入ると、一致するとすぐにスライダーが開きます。

助けていただければ幸いです。

Davids HelpでOK、これは私がこれまでに持っているものです:

検証:

$(document).ready(function(){
    $("#bugmeform").validate({
        rules: {
            mobile1: "required",
            mobile2: {
                equalTo: "#mobile1"
            }
        }
    });
});

以下に記載されているjQueryハンドラーコード

$("#mobile2").bind('keyup', "paste", function () {
    if ($("#mobile1").val() == $("#mobile2").val()) {
        $("#slider").animate({
            width: "70%",
            opacity: 0.4,
            marginLeft: "0.6in",
            fontSize: "3em",
            borderWidth: "10px"
        }, 1500);
    });

フォーム要素は次のようになります:モバイル1

<input id="mobile1" name="mobile1" class="small" size="12" type="text" onkeydown="return ( event.ctrlKey || event.altKey
                || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
                || (95<event.keyCode && event.keyCode<106)
                || (event.keyCode==8) || (event.keyCode==9)
                || (event.keyCode>34 && event.keyCode<40)
                || (event.keyCode==46) )"
                class="medium"  onKeyPress="return numbersonly(event, false)" onKeyDown="limitText(this.form.mobile1,this.form,10);" 

onKeyUp = "limitText(this.form.mobile1、this.form、10);" maxlength = "10" />

モバイル2

<input id="mobile2" name="mobile2" class="small" size="12" type="text" onkeydown="return ( event.ctrlKey || event.altKey
                || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
                || (95<event.keyCode && event.keyCode<106)
                || (event.keyCode==8) || (event.keyCode==9)
                || (event.keyCode>34 && event.keyCode<40)
                || (event.keyCode==46) )"
                class="medium"  onKeyPress="return numbersonly(event, false)" onKeyDown="limitText(this.form.mobile2,this.form,10);" 

onKeyUp = "limitText(this.form.mobile2、this.form、10);" maxlength = "10" />

アニメートしたいDiv要素:

<div class="clearfix"></div>
<div id="slider">

hello world </ div>

それについてです。

4

1 に答える 1

1

おそらく次のようなものです:

$('#secondInput').keyup(
    function(){
        if ($('#firstInput').val() == $('#secondInput').val()) {
            $('#slider').animate({/* slide into view */}, 500);
        }
    });
于 2010-12-07T22:33:39.263 に答える