如何使用 javascript 确定订阅者上传了缩略图

How to vaildate a subscriber has uploaded a thumbnail using javascript

提问人:Brad Miller 提问时间:11/11/2023 更新时间:11/11/2023 访问量:17

问:

我的子主题模板submit_video.php有这段代码。我想验证订阅者是否上传了缩略图,或者他们无法发布视频。这是用于上传的代码。我已经尝试了几件事。我只是JS的初学者。这是上传缩略图的代码。我现在不知道如何使用 JS 或其他代码本身来验证这一点'(PHP)

<!--UploadThumbnail-->
<div class="col-12 mb-2">
    <label class="label-sm qs-font-weight-medium bm_cya_form_label">
    <?php esc_html_e('Upload Thumbnail', 'betube') ?> :
    <span class="text-danger">*</span>
    <span class="small"><?php esc_html_e('Best image size is 850x550px', 'betube') ?></span>
    </label>
    <input class="form-control form-control-lg" type="file" name="upload_attachment[]" id="btp_thumbnail" accept="image/*">
    </div>
    <!--UploadThumbnail-->

任何帮助将不胜感激。提前致谢!

我尝试了这个通用代码,更改名称等。不去,想不通

function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
} 
JavaScript 验证 缩略图

评论


答:

0赞 chrwahl 11/11/2023 #1

不需要用于验证输入文件元素的函数。只需在元素上设置属性即可。该表单只有在有效时才会提交,这意味着表单中所有必填的表单字段都有效。required

关于命名。在表单中,每个表单字段和表单本身都应始终具有 name 属性。您可以使用点语法 () 或“数组”语法 ()。对于带有名称的文件输入,您需要使用数组语法,因为名称中带有方括号:。document.forms.uploadthumbnaildocument.forms['uploadthumbnail']upload_attachment[]document.forms.uploadthumbnail['upload_attachment[]']

document.uploadthumbnail.addEventListener('submit', e => {
  e.preventDefault();
  let form = e.target;
  console.log('You are uploading',form['upload_attachment[]'].files.length, 'file');
});
<form name="uploadthumbnail">
  <!--UploadThumbnail-->
  <div class="col-12 mb-2">
    <label class="label-sm qs-font-weight-medium bm_cya_form_label">Upload Thumbnail<span class="text-danger">*</span> 
      <input class="form-control form-control-lg" type="file" name="upload_attachment[]" accept="image/*" required>
    </label>
  </div>
  <!--UploadThumbnail-->
  <button>Submit</button>
</form>