我有一个Django表单,它具有带有所需属性的输入。
我在表单内还有一个DWobject,在提交表单之前应该有扫描图像。
我想在提交表单之前验证此DWobjec,但是当我使用“提交”按钮上的“单击事件”进行验证时,它仅验证该对象,而忽略了其他必填字段。当我尝试“提交时”事件时,它仅检查所需的输入,而忽略DWobject。

有谁知道如何在验证对象的同时保持必需的属性工作?

这是我的Javascript代码:

// validating scan object
    $("#scan_submit").on("click", function (event) {

        event.preventDefault ? event.preventDefault() : event.returnValue = false;

        if (DWObject.HowManyImagesInBuffer == 0) {
            $('#error_if_empty').text('Please scan a file ').css('color', 'red');
        }

        else {

            $('#error_if_empty').text(' ');
            $("#scan_form").submit();
        }
    });


这是我的HTML表单:

           
  <form method="post" action="{% url 'cu:scan-page' pk=cu.id  %}" id="scan_form">
   <div class="modal-body">
   {% csrf_token %}
 <input id="id_filename" name="filename" type="text" class="form-control" required>

   {{ User_attachment_form.type  }}
   {{ User_attachment_form.level }}

  <button type="button" class="btn scan-attachment-action-button"onclick="AcquireImage();">
  <img src="{% static 'images/scan_icon.svg' %}"></button>

  <button type="button" class="btn scan-attachment-action-button"onclick="ShowFileEditor();">
  <img src="{% static 'images/edit_icon.svg' %}"> </button>                
 <span id="error_if_empty"></span>
<div id="dwtcontrolContainer"></div>

<div class="modal-footer">
<button type="submit" class="btn btn-primary" id="scan_submit">  </button>  </div> </form>


最佳答案

我发现了问题,我在“提交”按钮ID而不是表单ID上注册了“提交时”事件

当我将其替换为表单ID时,它起作用了!

这是代码:

 // validating scan object
    $("#scan_form").on("submit", function (event) {
        console.log('on submit')

        if (DWObject.HowManyImagesInBuffer == 0) {
            $('#error_if_empty').text('Please scan a file ').css('color', 'red');
            console.log('images = 0')
            return false;
        }

        else {
            $('#error_if_empty').text(' ');
            return true;
        }
    });

关于javascript - 在提交按钮上注册单击事件时,表单输入中的必需属性不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59128324/

10-16 20:58