2012-01-09 4 views
0

jquery-1.9.0、jquery.form.2.36、jquery-ui-1.8.2プラグインでjquery-1.6を使用しています。JQuery IE7クローンがnullを返すか、オブジェクトではない

私はjqueryの

var $clone = $('.container-wrapper').clone(); 

    var crsrads = $clone.find("input:radio[name=corsdt]"); 

var no_of_rad = crsrads.length + 1; //find total no. of orig radio inputs, incr ids to avoid duplicate ids 
    crsrads.each(function(index){ 
     var i = index + no_of_rad; 
     $(this).attr({id: 'rad_corsdt_' + i, name: 'corsdt1'}); 
    }); 

$('#dialog-dtwrapper').append($clone); 
を使用して、要素名「corsdt」

<div class="container-wrapper"> 
.... 
    <div class="rght-container"> 
     <input type="radio" name="corsdt" id="rad_corsdt_1" class="radio ui-widget-content ui-corner-all" value="course_title=Fundamentals%20for%20New%20Managers&amp;course_code=341.564&amp;mercref=341.564-12-HI-03" /> 
    </div> 
</div> 

によってグループ化される多くのラジオボタン1つを含有し、フォームに追加することができ、次のコードブロックのコピー

どう

<div id="dialog-dtwrapper"> 
     <div class="container-wrapper"> 
     .... 
     <div class="rght-container"><input id="rad_corsdt_2" class="radio ui-widget-content ui-corner-all ez-hide valid" type="radio" value="course_title=Fundamentals%20for%20New%20Managers&amp;course_code=341.564&amp;mercref=341.564-12-HI-03" name="corsdt1"> 
     ...  
     </div> 
    </div> 
</div> 

予想通りこれは、フォーム内の目標divタグに追加これまでに検証プラグインを使用してフォームを検証しようとすると、IE7で '0'がnullかオブジェクトではないというエラーが発生します。

var aform = $("#formName").validate({ 
.... 
rules: { 
.... 
    corsdt1 : "required", 
.... 
}, 
messages: { 
.... 
corsdt1 : "please select a course date", 

}, 
submitHandler: function(form) {.... 

私は、これはいくつかの例であり、このための回避策をIE7.Isのバグの原因となるcloneメソッドに関連していると仮定しますか?

Firefoxでうまく動作するので、IE8 & Chrome。

乾杯。

答えて

0

これを試してください。

var html = $('.container-wrapper').get(0).cloneNode(true); // Clone HTML using DOM API 
var $clone = $(html); 

私は以前この問題を抱えており、このように解決されました。 https://stackoverflow.com/a/2874893/17447

+0

@naween、このためのおかげで、私は断片が正しくIEの開発者にクローニングした見ることができるようにcloneメソッドが動作している(IE7する必要があります:

参考リンクは

)。 「corsdt1」ルールをコメントアウトすると、有効ではありませんが、それはすべて正常に動作します。 ドームに明らかに存在するときに 'ヌルオブジェクト'を返す理由がわかりません?? – polecat

0
var crsrads = $clone.find("input:radio[name=corsdt]"); 

var crsrads = $clone.find('input:radio[name="corsdt"]'); 
関連する問題