0
私は、AJAx呼び出しからのデータが入ったフォームでjquery-uiダイアログを開くWebページを構築しています。これらの数値の1つは、ラファエロ色の塗りつぶし矩形を描画するために使用されます。 DOMを呼び出すと 操作順序はIE8はjquery-uiダイアログの中にRaphaeljsイメージを正しくレンダリングしません
- AJAX呼び出し
- フィル形式で
- ドローRaphaeljsフィギュア
- ショーjqueryの-UIダイアログここ
はコードです:
function onSelect_manuale(feature) {
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp2=new XMLHttpRequest();
}
else{ // code for IE6, IE5
xmlhttp2=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp2.onreadystatechange=function(){
if (xmlhttp2.readyState==4 && xmlhttp2.status==200){
obj = jQuery.parseJSON(xmlhttp2.responseText);
document.getElementById("valMed").value = obj.valMed;
disegnaBarraCampo(obj.valMed, 'raphaelImageDiv');
$("#dialog-manuale").dialog('open');
}
}
xmlhttp2.open("GET","jGetData_manuale.php?id="+feature.data.idMisura,true);
xmlhttp2.send();
}
および
function disegnaBarraCampo(field_value, target_field) {
document.getElementById(target_field).innerHTML = '';
var paper = Raphael(target_field, 300, 100);
var barrettaVerde = paper.rect(field_value, 10, 100, 100, 4);
barrettaVerde.attr({
fill:'#00ff00',
'stroke-width':0
});
}
FirefoxまたはChromeではすべてが完全に機能します。 IE8ではRaphaelの図形が正しく描画されません。色の塗りつぶしがなく、1pxの黒い境界線がある四角形が表示されます。
私はコードをダイアログの外に置くと、同じRaphaelコードがIE8で図形を正しくレンダリングするので、Raphael + iquery-uiダイアログの問題の一種だと思います。
ヒント?
おかげ
アルベルト