1

こんにちは、ウェブの善良な人々です。以下のスクリプトに問題があります。

object doesn't support this property or methodメソッドに関する問題が発生し続けてい.lengthます。何か案は ?

Thxジェイ

$('input:hidden').each(function(){
    var name = $(this).attr('name');
    if($("[name='"+name+"']").length >1){
        if($(this).attr('type')!=='radio' && $(this).attr('type')!=='submit' 
                                          && $(this).attr('type')!=='button' 
                                          && $(this).attr('type')!=='text'
                                          && $(this).attr('type')!=='checkbox'
                                          && $(this).attr('type')!=='select'){
            $(this).remove();
        }
    }
});
4

4 に答える 4

0

あなたはとても新しいと言ったので。以下のプラグインをマルチフォームに使用できるためBrowser compatibility issues、コードを回避してクリーンにすることができます

http://mstratman.github.io/jQuery-Smart-Wizard/
http://wbotelhos.com/stepy
http://thecodemine.org/

于 2013-06-24T10:45:28.473 に答える
0

結果として生じるエラーをハッキングするのではなく、根本的な重複の問題を修正する必要があります。

つまり、 Internet Explorer (少なくとも 8) には単一の入力フィールドに長さ属性がありませ。 html

<!DOCTYPE html>
<html>
<head>
<title>Test length</title>
<script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
<script>
$(function(){
    $.each(["test1","test2"],function(i,name) {
      var input = $("input[name="+name+"]");
      var dotlength = input.length;
      var size = input.size();
      window.console && console.log("input.length:",dotlength);
      window.console && console.log("input.size():",size);  
  });
});
</script>
</head>
<body>
<input name="test1" /><hr>
<input name="test2" /><br><input name="test2" /><br>
</body>
</html>

IEで与える:

LOG: input.length:1
LOG: input.size():1
LOG: input.length:2
LOG: input.size():2
于 2013-06-24T09:22:04.147 に答える
0

size()代わりに使用してみてくださいlength

$("[name='"+name+"']").size()
于 2013-06-24T09:09:02.227 に答える