首页 > 解决方案 > 使用纯 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,并阻止我做我想做的事。

标签: javascriptjquery

解决方案


你可以用纯 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>


推荐阅读