2014-04-04 5 views
0

마케팅 자동화 플랫폼을 사용하여 웹폼을 만들고 있습니다. 자동 완성을 수행하기 위해 jquery와 함께 작동하는 필드를 추가하고 싶습니다. 불행히도 양식은 소프트웨어의 WYSIWYG 편집기를 통해 생성 된 다음 생성되어 페이지가 렌더링 될 때 삽입됩니다. 페이지의 HTML에 나타나는 양식의 유일한 코드는 간단한 변수 자리 표시 자 (%% FORM :: DEFINITION %%)이며 URL을 방문 할 때 양식 코드로 바뀝니다. 소프트웨어 지원 팀은 내가하고 싶은 변화를하는 것이 불가능하다고 말합니다. 도전으로 보았습니다.자동으로 생성되는 HTML 양식을 수정하려면 어떻게해야합니까?

내가 할 수있는 유일한 것은 id = "autocomplete-dynamic"속성을 양식의 입력에 추가하는 것입니다. 나는 이것을 달성 할 수있는 두 가지 아이디어를 가지고있었습니다.

첫 번째로 가장 바람직한 옵션은 페이지가 렌더링 된 후 입력 태그에 속성을 삽입하는 페이지 맨 아래에서 실행되는 스크립트입니다. 이것은 클라이언트 측의 변화 일 뿐이므로이 모든 작업은 텍스트 필드가 다른 테이블의 값을 찾을 수있게하므로 좋을 것입니다. 누군가 스크립트 블로커를 설치했다면 텍스트 필드에 정상적으로 타이핑 할 수 없으므로 자동 검색이 작동하지 않는 것입니다. 우리는 수천 가지 가능성 목록에서 항목을 선택하는 것을 더 쉽게하려고 노력하고 있지만 누군가가 자동 완성 기능없이 자신의 항목을 입력해야한다면 재앙이 아닐 수도 있습니다. 이 솔루션은 깨끗한 것처럼 보이지만 수행 할 수 있는지 확실하지 않습니다.

다른 가능성은 소프트웨어에서 양식 코드를 가져 와서 별도의 HTML 문서에 삽입하고 거기에서 변경하는 것입니다. 다른 페이지에서 사용할 수 있도록 양식의 원시 HTML을 추출 할 수 있지만이 코드를 방문 페이지로 다시 붙여 넣으면 오류가 발생합니다. 따라서 소프트웨어에 의해 생성 된 코드를 별도의 웹 서버에있는 HTML 페이지에 넣은 다음 필요에 따라 수정할 수 있고 iframe을 사용하여 바로 되돌릴 수 있습니다 방문 페이지에서 소프트웨어는 폼이 외부 사이트에서 사용되고 있기 때문에 불평해서는 안됩니다 ... 플랫폼 사이트에서 외부 사이트를 숨겨 놨습니다.

옵션 1은 실제로 구현하기가 훨씬 쉬울 것이라고 생각합니다. 실제로 가능하다면.

미리 감사드립니다.

답변

0

첫 번째 해결 방법은 완전히 적절합니다. 그것이 DOM이 준비 될 때까지 실행 대기 속기 document.ready 함수에 싸여 있기 때문에

$(function() { 
    $('#myForm input').attr('id', 'autocomplete-dynamic'); 
}); 

스크립트 태그 안에 어디든지 추가 할 수 있습니다.

관련 문제