2012-06-30 3 views
2

누군가 나를 도울 수 있습니까? 이 함수를 사용하여 동적으로 입력을 만들려고하지만 "양식"속성이 설정되지 않습니다.Javascript로 createElement 입력에 양식 속성을 설정하는 방법

function addInput(parentID,inputNAME) { 
    var padre = document.getElementById(parentID); 
    var container = document.createElement("input"); 
    container.type = "text"; 
    container.name = inputNAME; 
    container.value = ""; 
    container.form = 'extra'; 
    var enter = document.createElement("br"); 
    padre.appendChild(container); 
    padre.appendChild(enter); 
} 

나는이 함께 시도했다 :

container.formName = 'extra'; 
container['form'] = 'extra'; 
container.attributes['form'] = 'extra'; 
container.createAttribute('form','extra') 

편집 :
답변 :
container.setAttribute("Form",'extra');

+0

달성하려는 작업은 무엇입니까? 'setAttribute'는 요소에 맞춤 속성을 설정합니다. 최종 목표가 무엇인지 설명해야한다고 생각합니다. –

+0

당신의'setAttribute()'는 FF에서 작동하지만 이것은 대답과 같이 필드를 추가하는 폼에 암시 적으로 설정되어있는 ** 속성 **'form'과 관련이 없으므로 아무런 효과가 없습니다. – Utkanos

+0

'form' 속성은 HTML5에서 새로 추가되었습니다. 양식 필드를 임의의 양식과 연결할 수 있습니다. – Neil

답변

7

그리고 FF, 크롬과 오페라에서 작동하는 것으로 나타납니다

다음은 도움이 될 수 있습니다.

2

몰라 그/그녀의 대답을 삭제 "내가 아니에요"왜, 그것은 대부분 정확합니다. form속성은 DOM 2 HTML 사양에서 읽기 전용으로 지정되며 양식 컨트롤이있는 양식을 참조합니다. 양식에 없으면 정의되지 않습니다.

양식 attribute은 HTML5에서 새로 추가되었으며 컨트롤이 포함 된 양식과 다른 양식을 연결하기위한 것입니다. 이것은 중첩 된 양식에 사용하기위한 것입니다.

입력 요소에 양식 속성을 설정하면 예기치 않은 결과가 발생할 수 있습니다. HTML5를 준수하는 브라우저에서 양식 속성의 값이 문서의 다른 양식의 ID 인 경우 컨트롤은 해당 양식과 연결되므로 양식 속성은 양식에 대한 참조이며 양식 속성은 문자열입니다 (관련 양식의 ID). 그렇지 않으면 속성 값이 컨트롤의 양식 DOM 속성에 반영되지 않지만 속성 값이 설정된 상태로 유지 될 수 있습니다.

IE는 항상 속성과 속성을 엉망으로 만들었지 만 IE 6은 속성 값과 관계없이 양식 속성을 바꿉니다. 어쩌면 최신 버전이 다르게 동작 할 수도 있습니다. 아마도 그 중 하나가 HTML5를 지원할 것입니다. 내가

container.setAttribute("Form",'extra'); 

을 사용했습니다

<form id="form0"> 
    <div> 
    <input type="button" form="form1" onclick= 
     "alert('form property is: ' + this.form + ' ' + this.form.id + 
      '\nform attribute: ' + (typeof this.getAttribute('form')) + 
      ' ' + this.getAttribute('form')) 
     " value="Show form property and attribute"> 
    </div> 
</form> 
<form id="form1"><div></div></form> 
+0

내 질문에 잘못된 것이 있습니까? 양식 속성에 대해 묻는 중 ... 양식 연관 요소는 기본적으로 가장 가까운 조상 양식 요소와 연관되어 있지만이를 대체하기 위해 지정된 양식 속성을 가질 수 있습니다. – Manatax

+0

폼 속성과 속성의 차이점을 지적했습니다. IE를 개발하는 개발자를 포함하여 많은 웹 개발자를 혼란스럽게합니다. 표준 속성으로서의 양식 속성은 새로운 기능이므로 브라우저 지원이 다양하므로 결과도 달라집니다. 그렇게하기를 기대하는 것을 진술하지 않았고, 왜 당신이 원하는 것을하지 않는지 말하기가 어렵습니다. Dunno는 질문에 -1을 주었다. – RobG

+0

아, IE 8은 IE 6과 비슷합니다. 양식 속성을 설정하면 양식의 ID 여부와 상관없이 양식 속성이 동일한 문자열 값으로 설정됩니다. – RobG