如何在Gravity Forms中使用JavaScript或jquery设置所需的输入字段

kknvjkwl  于 2023-06-22  发布在  jQuery
关注(0)|答案(1)|浏览(127)

我正在创建一个使用重力形式的事件注册表。如果参与者的数量等于衬衫的数量,则该表单应允许用户注册。如果不是,请设置所需的参与者输入字段。
下面是Faisal Ahammad编写的一段代码,除了将字段设置为必填字段时,它可以正常工作。

$(document).ready(function() {
    var participants = $('#input_1_36_1');
    var shirts = $('#input_1_18');
    var field = $('#field_1_45');

    function validateForm() {
        if (Number(participants.val()) !== Number(shirts.val())) {
            participants.attr('required', true);
            field.css('color', 'red');
            participants.css('border', '2px solid red');
            field.show();
        } else {
            field.css('color', 'green');
            field.hide();
               }
        }

     // Call validateForm every time the values of the input fields change
     participants.add(shirts).on('input', validateForm);

      validateForm();

});
e0bqpujr

e0bqpujr1#

必填属性使用prop()代替attr()

在你的代码中用prop()替换attr()调用通常是可行的。属性通常比属性更容易处理。属性值只能是字符串,而属性可以是任何类型。
下面是代码的更新版本:

jQuery(document).ready(function($) {
        var participants = $('#input_1_36_1');
        var shirts = $('#input_1_18');
        var field = $('#field_1_45');
    
        function validateForm() {
            if (Number(participants.val()) != = Number(shirts.val())) {
                participants.prop(
                    'required',
                    true);  // Use prop() instead of attr() for required attribute
                field.css('color', 'red');
                participants.css('border', '2px solid red');
                field.show();
            } else {
                field.css('color', 'green');
                field.hide();
            }
        }
    
        // Call validateForm every time the values of the input fields change
        participants.add(shirts).on('input', validateForm);
    
        validateForm();
    });

相关问题