javascript - 使用纯 javascript 或 jquery 设置 ng-content 的值
问题描述
我有一些 CMS 的以下 html 代码:
<esw-input _ngcontent-ysg-c21="" class="address-form__middleName ng-touched ng-pristine" type="text" _nghost-ysg-c16="" maxlength="60"><input _ngcontent-ysg-c16="" class="textInput ng-pristine ng-touched" triggers="manual" id="middleName" type="text" placeholder="Отчество" required="" maxlength="60"><!----><div _ngcontent-ysg-c16="" class="error"><esw-field-validation _ngcontent-ysg-c16="">Пожалуйста, введите ваш отчество
</esw-field-validation></div></esw-input>
如何使用 javascript 或 jquery 设置该字段的值?我尝试关注
var element = $("#middleName");
element.val(MiddleName).trigger('blur');
使用此代码,我看到了新值,但字段报告为无效(空)并且无法提交表单。使用了一些 CMS,并阻止我做我想做的事。
解决方案
你可以用纯 JS 做到这一点。
具有焦点和模糊方法的 UPD
// Shortcut
const s = document.getElementById("middleName");
// Focus field
s.focus();
// Add value
s.value = "Джонович";
// Set value attribute to input tag
s.setAttribute("value", "Джонович");
// blur field
s.blur();
<esw-input _ngcontent-ysg-c21="" class="address-form__middleName ng-touched ng-pristine" type="text" _nghost-ysg-c16="" maxlength="60">
<input _ngcontent-ysg-c16="" class="textInput ng-pristine ng-touched" triggers="manual" id="middleName" type="text" placeholder="Отчество" required="" maxlength="60">
<!---->
<div _ngcontent-ysg-c16="" class="error">
<esw-field-validation _ngcontent-ysg-c16="">Пожалуйста, введите ваш<b style="color:red">e</b> отчество</esw-field-validation></div></esw-input>
推荐阅读
- php - WordPress:如何在搜索字段中显示“0”的结果
- excel - 如果客户的姓名在 A 列中,则更新客户的姓名表
- angular - Angular - 解析器错误:在 [form.loading_date | 的第 21 列的操作表达式中不能有管道。日期:'dd/MM/yyyy'=$event]
- c - 如何从 DbgDeclareInst LLVM IR 获取变量名?
- ios-simulator - IOS 模拟器在运行 iOS 13.0 设备时崩溃
- c# - C# public datatype variable(get; private set) 如果变量已经是公共的,为什么我们需要 set 方法?
- scala - 为什么在 .distinct() 之后总是有 .collect()?
- c# - 在 Windows 窗体中输入键盘输入 (C#)
- php - 部署到服务器后调用未定义函数 _()
- .net - Python AES 加密 .net 解密 填充无效,无法移除