如何修改此JS函数,使其在字段等于一定长度时运行?

时间:2019-12-13 18:08:22

标签: javascript html django

我有一个函数,当用户在employee_number字段中单击/制表时,该函数当前会运行。我希望它在输入的数字长度等于6时运行,而不必离开该字段,因为当我尝试使用制表符时,它与加载下一个字段(这是下拉菜单的一部分)冲突该功能已运行。

我尝试使用.change来运行它,并将约束放入函数中,但是它没有用,我不知道还有什么尝试。

enter_exit.html

{% extends "base.html" %}

{% load core_tags staticfiles %}

{% block main %}
    <form id="warehouseForm" action="" method="POST" data-employee-activity-lookup-url="{% url 'operations:employee_activity_search' %}" novalidate >
        {% csrf_token %}

        <div>
            <div>
                <div id="employee-name" style="margin-bottom: 10px">&nbsp;</div>
                <label>Employee #</label>
                {{ form.employee_number }}

            </div>

            <div=>
                <label>Work Area</label>
                {{ form.work_area }}
            </div>
            <div style="display: none" id="my-hidden-div">
                <label>Station</label>
                {{ form.station_number }}
            </div>

        </div>

        <div>
            <div>
                <button>Enter Area</button>
                <button>Exit Area</button>
            </div>
        </div>
    </form>

    <script>

        // Grab the employee name and their current active work log (if any)
        $(document).on('blur', "#{{ form.employee_number.id_for_label }}", function(){
            var url = $("#warehouseForm").attr('data-employee-activity-lookup-url');
            var employeeId = $(this).val();
           # ... more fields ...

            if (employeeId !== "") {

              # .. Rest of function ...
        })
     </script>

{% endblock main %}

1 个答案:

答案 0 :(得分:0)

您尝试使用.keyup或.keydown而不是使用模糊处理? 这是在CodePen中工作的简单版本:

$("#test1").keydown(()=>{
  if($("#test1").val().length>6)
    console.log('6+');
})

https://codepen.io/orunnals/pen/JjoRGLX