我需要在呈现页面后使用JAVASCRIPT函数设置文本框的值。我尝试获取文本框的ID,但它会在每次加载时继续更改。有没有可能的方法来设置文本框的值?我可能正在创建一个扩展,我需要设置输入和选择字段的值。
我试过了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>
我已附上图片供您参考。
从控制台设置文本框的值
在文本框中成功设置值。
单击“保存”按钮后,文本框fild变为空并显示强制错误!
提前致谢。
答案 0 :(得分:0)
您可以使用querySelector通过CSS选择器(例如类名)获取项目,然后您可以更新文本输入的值。 在调用此函数之前,请确保已加载文档DOM
编辑: 似乎有些人面临同样的问题,solution建议要做:
document.getElementById('{!$Component.formName.pInput1}').value = "test";
答案 1 :(得分:0)
在浏览器控制台中使用InspectElement,您可以检查您尝试获取的文本框的位置,并创建可在JavaScript的document.querySelector()函数中使用的CSS选择器。选择每次都不会改变的一致父母。例如,如果您的文本框出现在类 xyz 的div中,如下所示:
<div class="xyz">
<input name="changingname" />
</div>
您可以像这样制作选择器:
var ele = document.querySelector('.xyz>input');
然后你可以像这样设置你想要的任何值:
ele.value = "your value";