2010-12-17 2 views
0

Ich bin sehr neu in Javascript und habe die JQuery-Bibliothek ziemlich oft verwendet. Ich habe ein Dialogfeld, das geöffnet werden soll, wenn ich auf eine Schaltfläche auf der Seite klicke. Dieser Teil funktioniert gut, aber wenn ich das Javascript hinzugefügt habe, um das Dialogfeld beim Klicken auf eine Schaltfläche zum Absenden innerhalb des Dialogfelds zu schließen, wird das Dialogfeld überhaupt nicht geöffnet. (Funktioniert alle Browser außer Internet Explorer). Kannst du helfen? Hier ist mein Code:IE Problem beim Anzeigen der .dialog Modal Box mit Jquery UI

<script> 
$(function(){ 
$(".callparser").click(function (e) { 
$(".parserinformation").dialog({ 
    modal: true, 
    minHeight:400, 
    minWidth: 580, 
    open: function (e, ui) { 
    var $container = $(this); 
    $container.find('#close').click(function(){ 
     $container.dialog("close"); 
    }); 
    }, 
    beforeClose: function (e, ui) { 
    var $container = $(this); 
    $container.find('#close').unbind('click'); 
    }, 
    }); 

}); 
}); 
    </script> 

Hier ist die html (vereinfacht):

<input type="button" name="Parser" class="callparser" value="Parser"/> 




<div class="parserinformation" style="display: none;"> 
<div class="addtofolder"> 
    <input type="submit" id="close" class="addtofolderbutton" value="Private" onclick="$.jGrowl('Your product has been added!')"> 
</div> 
</div> 
+0

"Wenn ich das Javascript hinzugefügt habe, um das Dialogfeld beim Klicken auf eine Absenden-Schaltfläche im Dialogfeld zu schließen, wird das Dialogfeld überhaupt nicht geöffnet." Versuchen Sie es zu öffnen oder zu schließen? – nolabel

+0

Ich habe eine Schaltfläche zum Senden, um das Dialogfeld zu schließen. Wenn ich jedoch den Code zum Schließen der Schaltfläche bei Klick einfüge, wird das ursprüngliche Dialogfeld nicht einmal geöffnet. –

Antwort

2

Probieren Sie es ohne das letzte Komma (,), wird IE mag es nicht, nach dem letzten Element.

<script type="text/javascript"> 
    $(function(){ 
     $(".callparser").click(function (e) { 
      $(".parserinformation").dialog({ 
       modal: true, 
       minHeight:400, 
       minWidth: 580, 
       open: function (e, ui) { 
        var $container = $(this); 
        $container.find('#close').click(function(){ 
         $container.dialog("close"); 
        }); 
       }, 
       beforeClose: function (e, ui) { 
        var $container = $(this); 
        $container.find('#close').unbind('click'); 
       } 
      }); 

     }); 
    }); 
</script> 

<input type="button" name="Parser" class="callparser" value="Parser"/> 

<div class="parserinformation" style="display: none;"> 
    <div class="addtofolder"> 
     <input type="submit" id="close" class="addtofolderbutton" value="Private" onclick="$.jGrowl('Your product has been added!')"> 
    </div> 
</div> 
+0

Danke für die Rückmeldung, aber es hat nichts geändert. Ich entfernte das Komma und öffnete immer noch nicht. –

+0

Vielleicht ist Ihr IE Ihre js-Datei zwischengespeichert, versuchen Sie, den Cache zu säubern (funktioniert gut mit dem entfernten Komma in IE6, IE7 und IE8). –

+0

Das war es. Super, vielen Dank. –