1

設定によって入力されたデータベーステーブルを編集するフォームがありますが、フォーム<input value="<?php echo $myvalue?>">を検証しようとしています。form_submitでフィールドを消去すると、値は表示したい値$myvalueではなく古い値として返されます。""HTMLで属性がまだ設定されていることに気付きましたがvalue、これは理にかなっていますが、この場合、入力が空かどうかをフォームがどのようにチェックするかわかりません!?

これはこれまでの私の検証機能です。まだ完全にテストすることはできません。

$(".my-form").submit( function(e) {
        $('error-desc').hide();
        $('input').removeClass('error');
        $('input[name^=edit]').each( function(){
            if ($(this).val()===""){
            $(this).addClass('error');
            $('error-desc').show();
            }
        });

        $('.add > .item').each( function(){
            var empty = true;
            $(this).find('input').each(function(){
                if ($(this).val() !== ""){
                    empty = false;
                }
            });
            if (!empty){
                $(this).find('input[name^=edit][value=""]').each(function(){
                    $(this).addClass('error');
                    $('error-desc').show();
                });
            }
        });

        if ($('input').hasClass('error')) {
            $('html, body').animate({
                scrollTop: $('.error-details').offset().top
            }, 2000);
            return false;
        } else {
            return false;
        }
    });
4

1 に答える 1

2

jQuery の.val()メソッドは""、ソースの内容に関係なく、入力がユーザーまたは JavaScript によって空にされた場合、正しい値を返す必要があります。

代わりに何か他のことが起こっている場合は、jsfiddle に証拠を提供する必要があります。これは、メソッドが機能する.val()方法ではないためです。入力が空の場合、.val()空の文字列を返します。

デモ: http://jsfiddle.net/eW63x/

于 2012-06-07T18:43:26.013 に答える