1

페이지가 렌더링 된 후 JAVASCRIPT 함수를 사용하여 텍스트 상자의 값을 설정해야합니다. 내가 텍스트 상자의 ID를 얻으려고했지만 모든 하중에 변화를 계속합니다. 텍스트 상자의 값을 설정할 수있는 방법이 있습니까? 그것은 내가 입력 및 선택 필드의 값을 설정해야하는 확장 기능을 만드는 것 같습니다.render - force.com 후 텍스트 상자의 값 설정

나는 Queryselctor를 시도했다. 예 :

getElementsByTagName ("입력") .value = 1 "testRecord";

연락처 양식에 성의 값을 설정하고 효과가있는 것처럼 느껴집니다. 저장을 클릭하면 빈 페이지가 표시되고 필수 항목으로 표시됩니다. 하지만 텍스트 상자에 몇 가지를 입력 한 다음 값을 설정하기 위해 함수를 사용하면 효과가있었습니다.

영업 담당자가 생성 한 코드입니다.

<div data-aura-rendered-by="14996:0" class="uiInput uiInputText uiInput--default uiInput--input" data-aura-class="uiInput uiInputText uiInput--default uiInput--input"> 
     <label class="uiLabel-top form-element__label uiLabel" for="14981:0" data-aura-rendered-by="14991:0" data-aura-class="uiLabel"> 
      <span class="" data-aura-rendered-by="14992:0">Last Name</span> 
      <!--render facet: 14994:0--> 
      <span class="required " data-aura-rendered-by="14982:0">*</span> 
     </label> 
     <input class="compoundBLRadius compoundBRRadius form-element__row input" maxlength="80" type="text" aria-describedby="" placeholder="Last Name" required="" id="14981:0" data-aura-rendered-by="14985:0" data-interactive-lib-uid="242" aria-required="true"> 
</div> 

참조 용으로 이미지가 첨부되어 있습니다. Value Updated in form

콘솔

에서 텍스트 상자의

설정 값은 successfuly 텍스트 상자에 설정합니다.

seting value from console 저장 버튼을 클릭하면, 텍스트 상자가 비어되고 mandratory 오류가 표시 Fild입니다! 사전에

after clicking save showing error

감사합니다.

+0

'document.getElementsByTagName ("input");'을 사용하여 시도하십시오. – Feathercrown

+0

작동하지 않았습니다. 나는 내 질문에 형제를 편집했습니다! – ganesh

답변

0

querySelector을 사용하면 CSS 선택기 (예 : 클래스 이름)를 통해 항목을 가져올 수 있으며 텍스트 입력 값을 업데이트 할 수 있습니다. 이 함수를 호출하기 전에 문서 DOM가로드되어 있는지 확인

편집 : 는 일부 pepole에가하는 solution suggestes이해야 할 동일한 문제에 직면 같다 : 확인할 수있는 브라우저 콘솔에서 InspectElement를 사용

document.getElementById('{!$Component.formName.pInput1}').value = "test"; 
+0

나는 이것을 이미 시도했다.예 : 연락처의성에 값을 설정하고 효과가있는 것처럼 느껴집니다. 저장을 클릭하면 빈 페이지가 표시되고 필수 항목으로 표시됩니다. :-( – ganesh

+0

jsfiddle 정도까지 HTML을 붙일 수 있습니까? – Tareq

+0

여기서 problm은 apex에서 * {! $ Component.formName.pInput1} *을 호출 할 때 작동합니다. 렌더링 후에 이것을 호출하면 효과가 없습니다. – ganesh

0

잡고 자하는 텍스트 상자의 위치는 JavaScript의 document.querySelector() 함수에서 사용할 수있는 CSS 선택자를 만듭니다. 매번 변하지 않는 일관된 부모를 선택하십시오. 당신은이 같은 선택 할 수 있습니다

<div class="xyz"> 
    <input name="changingname" /> 
</div> 

: 예를 들어 당신의 텍스트 상자는이 같은 클래스 XYZ로 사업부 내부에 나타나는 경우

var ele = document.querySelector('.xyz>input'); 

을 그리고 당신은 당신이 이렇게 원하는 값으로 설정할 수 있습니다 :

ele.value = "your value"; 
+0

일반 html 문서에서 작동하지만 salesforce에서는 값을 텍스트 상자에 설정하지만 저장을 클릭하면 값이 비어집니다. – ganesh

+0

호스트 된 양식에 대한 링크를 force.com의 – owaisafaq

+0

에 제공 할 수 있습니까? 자격 증명. :-( – ganesh