iframe에 양식을 게시하려고합니다. 내 문제는 iframe을 본문에 렌더링 할 때 내 양식이 올바르게 게시된다는 것입니다. 하지만이 문제는 컨테이너를 표시하려는 장소 대신 페이지 하단에 컨테이너가 표시된다는 것입니다. renderTo 속성을 사용하지 않으면 내 양식이 iframe에 전혀 게시되지 않습니다. 거의 renderTo 속성을 사용하지 않는 경우, 내 양식에 iframe이 보이지 않는다고 생각합니다.양식을 bidy로 렌더링하지 않고 extjs로 iframe에 게시
여기에 양식 게시물에 대한 작업 내 코드 먹으 렴하지만 컨테이너는 페이지
var myContainer = Ext.create('Ext.form.FieldSet', {
title: "my frame container",
labelWidth: 1,
bodyStyle: "padding-right:15px;padding-left:25px;",
renderTo: Ext.getBody(),
items: [
{
xtype: 'box',
autoEl: {
tag: 'iframe',
name: 'myIframe',
id: 'myIframe'
}
}
]
});
$('myform').submit();
이 제출 한 양식을 얻을 수 있지만, 패널은 페이지 하단으로 떨어의 바닥에 모든 방법을 떨어진다. 위치를 유지하고 게시 할 수있는 방법은 무엇입니까? 다시이 부분을 renderTo: Ext.getBody()
으로 가져 가면 양식이 iframe에 게시되지 않습니다.
특정 div에 렌더링하는 방법이 있는지 궁금합니다. 그것도 잘 작동하는지 확실하지 않습니다.
편집을 할
나는이
renderTo 일을 시도 : 'X-패널'어쩌면
ext-all.js Uncaught TypeError: Cannot read property 'dom' of null
** 양식 제출에 전체 코드 **
var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('name',"checkout-form");
f.setAttribute('id',"checkout-form");
f.setAttribute('target',"myIframe");
f.setAttribute('action',"http://example.com");
var formFields = [
'field1',
'field2',
field3'
];
for (var i = 0; i < formFields.length; i++){
var formFieldName = 'formFieldName'+i;
formFieldName = document.createElement("input");
formFieldName.type = "text";
formFieldName.name = formFields[i];
f.appendChild(formFieldName);
}
var myContainer = Ext.create('Ext.form.FieldSet', {
title: "my title",
labelWidth: 1,
bodyStyle: "padding-right:15px;padding-left:25px;",
//renderTo: Ext.getBody(),
renderTo: Ext.getElementById("myId"),
items: [
{
xtype: 'box',
autoEl: {
tag: 'iframe',
name: 'myIframe',
id: 'myIframe',
},
listeners: {
load: {
element: 'el',
fn: function() {
console.log("iframe loaded");
$('iframe#component-9808').css('border','0');
}
}
}
}
]
});
$("body").append(f);
$('#checkout-form').submit();