Mein Problem ist ganz ähnlich wie diese hier:html() Streifen Script-Tags in fancybox (jQuery) Ajax-Aufruf
- jquery html() strips out script tags
- jQuery - script tags in the HTML are parsed out by jQuery and not executed
Aber dies ist ein besonderer Fall und keine von ihnen arbeitete für mich.
Ich verwende das fancybox
(1.3.4) jQuery-Plugin, um das Ergebnis eines Ajax-Aufrufs anzuzeigen, der eine HTML-Zeichenfolge zurückgibt. Der HTML-String enthält ein Ajax-Formular mit jQuery
Zeilen, die wegen der html()
-Funktion nicht ausgegeben werden. Ich habe versucht, es durch innerHTML
zu ersetzen (das ist eigentlich das gleiche wie html()
) oder die Tags durch andere ersetzen und dann aktualisieren, aber nichts hat funktioniert.
Wenn Sie genau wissen möchten, wo das passiert, ist die Zeile 265
in der Fancybox JS-Datei.
Irgendwelche Ideen, um das zu lösen?
Prost,
Nicolas.
EDIT: ein Beispiel für den von Ajax retreived Code mit dem <script>
tag:
<div class="ddinline">
<form id="form542612422" onsubmit="return false;" update="searchbtn" position="before" method="post" action="/Librariescategories/AJAXGetChildrenList" accept-charset="utf-8">
<div style="display:none;">
<input type="hidden" name="_method" value="POST" />
</div>
<script type="text/javascript">
//<![CDATA[
$('#form542612422').bind('submit', function(){ $.ajax({async:true, type:'post', beforeSend:function(request) {$("#filter .ddinline").last().after('<img src="/img/loading.gif" id="catload" alt="" />');}, complete:function(request, json) {$('#searchbtn').before(request.responseText); $("#catload").remove(); createDropDown($("#filter .fulldrop").last());}, data:$('#form542612422').serialize(), url:'/Librariescategories/AJAXGetChildrenList'}) })
//]]>
</script>
<select name="data[Librariescategories][id]" class="fulldrop" id="LibrariescategoriesId">
<option value="0" selected="selected">select</option>
<option value="1">3D Models</option>
<option value="259">Imagery</option>
<option value="362">Textures</option>
</select>
<div class="hide">
<input type="submit" value="Submit" />
</div>
</form>
</div>
Können Sie ein Beispiel für den HTML-Code einfügen, mit Skript, das Sie von Ajax abrufen? –
Frage bearbeitet. – Nicolas