1

Мне нужно установить значение текстового поля с помощью функции JAVASCRIPT после того, как страница была отображена. Я попытался получить идентификатор текстового поля, но он продолжает меняться при каждой загрузке. Есть ли способ установить значение текстового поля? Скорее всего, я создаю как расширение, которое мне нужно установить для значения поля ввода и выбора.Установить значение текстового поля после render-force.com

Я попробовал Queryselctor. пример:

getElementsByTagName ('input') 1 .value = "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

Value успешно установлен в текстовом поле.

seting value from console

После нажатия кнопки сохранить, текстовое поле опустело Филд и показывает mandratory ошибку!

after clicking save showing error

Спасибо заранее.

+0

Попробуйте использовать 'document.getElementsByTagName ("вход");' – Feathercrown

+0

оно не сработало. Я отредактировал мой вопрос bro! – ganesh

ответ

0

Вы можете использовать querySelector, чтобы получить элемент с помощью селекторов CSS (например, имя класса), после чего вы можете обновить значение ввода текста. Убедитесь, что документ DOM загружается перед тем, как вызвать эту функцию

Edit: Кажется, некоторые pepole столкнулись с такой же вопрос, а solution suggestes сделать:

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

Я уже пробовал это.например: он устанавливает значение фамилии в форме контакта и чувствует, что это сработало. Когда я нажимаю на сохранение, он просто пуст и показывается как обязательный! :-( – ganesh

+0

Можете ли вы вставить HTML-код в jsfiddle или так? – Tareq

+0

здесь problm есть, когда мы вызываем * {! $ Component.formName.pInput1} * в вершине, он работает. Когда мы называем это после рендера, он не работал. – ganesh

0

Использование InspectElement в браузере консоли вы можете проверить положение текстового поля, которое вы пытаетесь получить, и создать селектор CSS, который можно использовать в функции document.querySelector() JavaScript. Выбирайте согласованный родитель, который не меняется каждый раз. Например, если ваше текстовое поле появляется внутри DIV с классом хуга как это:

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

Вы можете сделать селектор, как это:

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

И тогда вы можете установить любое значение вы хотите, как это :

ele.value = "your value"; 
+0

Он работает в обычном html-документе, но в salesforce, он устанавливает значение в текстовом поле, но он пуст, когда я нажимаю на сохранение. – ganesh

+0

Можете ли вы предоставить ссылку на размещенную форму? – owaisafaq

+0

ее в Force.com. Вы не видите прямую ссылку из-за учетные данные. :-( – ganesh

Смежные вопросы