未捕获的类型错误:无法设置 null 的属性(设置"值")



你好,我需要帮助修复我网站上的这个java脚本问题。我阅读了所有关于堆栈溢出和谷歌的帖子,但它似乎对我没有帮助。我收到错误Uncaught TypeError: Cannot set properties of null (setting 'value')

<!DOCTYPE html>
<html lang="en-US">
<head>
</head>
<body>
<div class="elementor-element elementor-element-bc48325 elementor-align-center elementor-widget elementor-widget-button" data-id="bc48325" data-element_type="widget" data-widget_type="button.default">
<a href="#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjExMzIiLCJ0b2dnbGUiOmZhbHNlfQ%3D%3D" class="elementor-button-link elementor-button elementor-size-sm" role="button" id="Social-media-manager">
<span class="elementor-button-text">Apply Now</span>
</a>
</div>

//Popup form
<form class="elementor-form" method="post" name="New Form">
<input type="hidden" name="post_id" value="1132"/>
<input type="hidden" name="form_id" value="2c8531ad"/>
<input type="hidden" name="referer_title" value="Careers" />
<input type="hidden" name="queried_id" value="1304"/>
<label for="form-field-name" class="elementor-field-label elementor-screen-only">Name</label>
<input size="1" type="text" name="form_fields[name]" id="form-field-name" class="elementor-field elementor-size-sm  elementor-field-textual" placeholder="Name*" required="required" aria-required="true">

<label for="form-field-field_1fc9713" class="elementor-field-label elementor-screen-only">Job Title*</label>
<input size="1" type="text" name="form_fields[field_1fc9713]" id="form-field-field_1fc9713" class="elementor-field elementor-size-sm  elementor-field-textual" placeholder="Job Title*" required="required" aria-required="true">

<label for="form-field-email" class="elementor-field-label elementor-screen-only">Email*</label>
<input size="1" type="email" name="form_fields[email]" id="form-field-email" class="elementor-field elementor-size-sm  elementor-field-textual" placeholder="Email*" required="required" aria-required="true">

<label for="form-field-message" class="elementor-field-label elementor-screen-only">Message</label>
<textarea class="elementor-field-textual elementor-field  elementor-size-sm" name="form_fields[message]" id="form-field-message" rows="4" placeholder="Message" required="required" aria-required="true"></textarea>                </div>
<input type="file" name="form_fields[field_501fb76][]" id="form-field-field_501fb76" class="elementor-field elementor-size-sm  elementor-upload-field" multiple="multiple">

<button type="submit" class="elementor-button elementor-size-sm">Apply now</button>


</form>

<script>
var Social_media_manager = document.getElementById('Social-media-manager');
Social_media_manager.onclick = function(){
document.getElementById('form-field-field_1fc9713').value = 'New value';
};
</script>
</body>
</html>

这是网站的简化代码。有一个名为Apply now的按钮,按下它将调用名为New form的弹出表单。使用我的JavaScript,我正在尝试自动填充";form-field-feld_1fc9713";但它总是向我返回这个错误。网站是用elementor在WordPress上制作的,我使用的是放在底部的自定义代码功能

如果您将代码复制粘贴到HTML文件中,它将正常工作,并且输入将填充"新值",您的问题是弹出表单。您调用

document.getElementById('form-field-field_1fc9713')

在创建表单之前,将返回null。请在弹出窗口创建后拨打此线路

最新更新