【问题标题】:Required field form by using id attribute in Javascript在Javascript中使用id属性的必填字段表单
【发布时间】:2021-08-05 02:49:16
【问题描述】:

这是我的表格。当用户想要添加另一个表单时,他们只需点击“tambah bil”即可。

我的问题是只需要检测输入字段的名称的功能。我想要通过输入字段的 id 检测所需的功能,因为它在一种形式中具有相同的名称。

 <fieldset>
   <div id="item">
     <div class="callout callout-warning" style="margin-top:15px">
       <div class="row">
         <div class="col-md-12">
           <h6><i class="far fa-file-alt"style="font-size:20px"></i><b style="padding-left:7px">Maklumat Bil</b>
           <span class="float-sm-right">
           <button type="button" name="add" id="add" class="btn btn-block btn-primary btn-sm right add"><i class="fa fa-plus"></i>&nbsp;Tambah Bil</button>
           </span></h6><hr>
        </div>
       </div>

        <div class="row">
         <div class="col-md-12">
          <div class="form-group">
                    <label>Jabatan</label>
                    <input type="hidden" name="jabatan[]" class="form-control" value="<?php echo $dept; ?>">
                    <span class="form-control form-control-sm"><?php echo $jab; ?></span>
            </div>
           </div>
         </div>
        
            <div class="row">
                <div class="col-md-6">
                    <div class="form-group">
                    <label>Kod*</label>
                    <select class="form-control select2bs4" name="kod[]" id= "kod" required>
                    <option value="" disabled="disabled" selected="selected">--Pilih Kod--</option>?php foreach($kod as $k):?>
                    <option value="<?php echo $k->kod;?>"><?php echo $k->kod;?> - <?php echo $k->keterangan;?></option>
                    <?php endforeach;?>
                    </select>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group">
                    <label>Perkara (Wajid isi ruangan pertama)*</label>
                    <input type="text" class="form-control form-control-sm" name="perkara1[]" id="perkara1" required>
                    <input type="text" class="form-control form-control-sm" name="perkara2[]" id="perkara2" required="false" style="margin-top:6px !important" >
                    <input type="text" class="form-control form-control-sm" name="perkara3[]" id="perkara3" required="false" style="margin-top:6px !important" >
                    </div>
                </div>
            </div>
                                    
            <div class="row">
                <div class="col-md-6">
                    <div class="form-group">
                    <label>No. Rujukan*</label>
                    <input id="noruj" type="text" class="form-control form-control-sm" name="noruj[]" required>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group">
                        <label>Jumlah (RM)* </label>
                        <input type="text" id="currency" class="form-control form-control-sm currency" name="jumlah[]" required>
                    </div>
                </div>
                </div>
                <span>*Ruangan wajib diisi</span>
            </div>
            </div>
         </fieldset>

当用户想要添加另一个账单时,这是我在 javascript 中的表单。

        $('html, body').animate({scrollTop: '+=550px'}, 400);

        var html = '';
        html += '<div class="callout callout-warning">';
        html += '<div class="row"><div class="col-md-12"><h6><i class="far fa-file-alt"style="font-size:20px"></i><b style="padding-left:7px">Maklumat Bil</b><span class="float-sm-right" style="padding-left:5px"><button type="button" name="remove" class="btn btn-block btn-danger btn-sm right remove"><i class="fa fa-minus"></i>&nbsp;Padam Bil</button></span><span class="float-sm-right"><button type="button" name="add" class="btn btn-block btn-primary btn-sm right add"><i class="fa fa-plus"></i>&nbsp;Tambah Bil</button></span></h6><hr></div></div>';
        html += '<div class="row"><div class="col-md-12"><div class="form-group"><label>Jabatan*</label><input type="hidden" name="jabatan[]" class="form-control" value="<?php echo $dept; ?>"><span class="form-control form-control-sm"><?php echo $jab; ?></span></div></div></div>';
        
        html += '<div class="row"><div class="col-md-6">';
        //html += '<div class="form-group"><label>Kategori*</label><select name="kategori'+i+'[]" class="form-control select2bs4" style="width: 100%;" required><option value="" disabled="disabled" selected="selected">--Pilih Kategori--</option><option value="INDIVIDU">Individu</option><option value="SYARIKAT">Syarikat</option></select></div>';
        html += '<div class="form-group"><label>Kod*</label><select class="form-control select2bs4" name="kod[]" id ="kod'+i+'" required><option value="" disabled="disabled" selected="selected">--Pilih Kod--</option><?php foreach($kod as $k):?><option value="<?php echo $k->kod;?>"><?php echo $k->kod;?> - <?php echo $k->keterangan;?></option><?php endforeach;?></select></div>';
        html += '</div><div class="col-md-6">';
        html += '<div class="form-group"><label>Perkara (Wajib isi ruangan pertama)*</label><input type="text" class="form-control form-control-sm" name="perkara1[]" id="perkara1'+i+'" required><input type="text" class="form-control form-control-sm" name="perkara2[]" id="perkara2'+i+'" style="margin-top:6px !important" ><input type="text" class="form-control form-control-sm" name="perkara3[]" id="perkara3'+i+'" style="margin-top:6px !important" ></div>';
        html += '</div></div>';
        
        html += '<div class="row"><div class="col-md-6">';
        html += '<div class="form-group"><label>No. Rujukan*</label><input id="noruj'+i+'" type="text" class="form-control form-control-sm" name="noruj[]" required></div>';
        html += '</div><div class="col-md-6">';
        html += '<div class="form-group"><label>Jumlah (RM)*</label><input type="text" id="currency" class="form-control form-control-sm currency" name="jumlah[]"  required></div>';
        html += '</div><span>*Ruangan wajib diisi</span></div>';
        html += '</div>';
        
        $('#item').append(html);

        $(function()
        {
               const inputs = $("input").prop('required',true);
               console.log('return value:');
               inputs.each(log);
               
               console.log('');
               console.log('selector:');
               $("input[required]").each(log);
               
               function log(index, element) 
               {
                 console.log($(element).attr("id"));
               }
        });

编码必填字段只是读取javascript之外的输入字段... 我想如何通过使用 id 属性来检测 javascript 表单中的输入? 所需的函数无法检测输入字段的ID,函数检测输入字段的名称是因为在一种形式中具有相同的输入字段名称。 有人可以帮助我吗?? 提前谢谢你。

【问题讨论】:

    标签: javascript jquery required-field


    【解决方案1】:

    你可以在设置道具后立即使用它

    const inputs = $("input").prop('required',true);
    console.log(inputs);
    

    你也可以使用属性选择器

    const inputs = $("input[required]");
    

            const i = 1;
            $('html, body').animate({scrollTop: '+=550px'}, 400);
    
            var html = '';
            html += '<div class="callout callout-warning">';
            html += '<div class="row"><div class="col-md-12"><h6><i class="far fa-file-alt"style="font-size:20px"></i><b style="padding-left:7px">Maklumat Bil</b><span class="float-sm-right" style="padding-left:5px"><button type="button" name="remove" class="btn btn-block btn-danger btn-sm right remove"><i class="fa fa-minus"></i>&nbsp;Padam Bil</button></span><span class="float-sm-right"><button type="button" name="add" class="btn btn-block btn-primary btn-sm right add"><i class="fa fa-plus"></i>&nbsp;Tambah Bil</button></span></h6><hr></div></div>';
            html += '<div class="row"><div class="col-md-12"><div class="form-group"><label>Jabatan*</label><input type="hidden" name="jabatan[]" class="form-control" value="<?php echo $dept; ?>"><span class="form-control form-control-sm"><?php echo $jab; ?></span></div></div></div>';
            
            html += '<div class="row"><div class="col-md-6">';
            //html += '<div class="form-group"><label>Kategori*</label><select name="kategori'+i+'[]" class="form-control select2bs4" style="width: 100%;" required><option value="" disabled="disabled" selected="selected">--Pilih Kategori--</option><option value="INDIVIDU">Individu</option><option value="SYARIKAT">Syarikat</option></select></div>';
            html += '<div class="form-group"><label>Kod*</label><select class="form-control select2bs4" name="kod[]" id ="kod'+i+'" required><option value="" disabled="disabled" selected="selected">--Pilih Kod--</option><?php foreach($kod as $k):?><option value="<?php echo $k->kod;?>"><?php echo $k->kod;?> - <?php echo $k->keterangan;?></option><?php endforeach;?></select></div>';
            html += '</div><div class="col-md-6">';
            html += '<div class="form-group"><label>Perkara (Wajib isi ruangan pertama)*</label><input type="text" class="form-control form-control-sm" name="perkara1[]" id="perkara1'+i+'" required><input type="text" class="form-control form-control-sm" name="perkara2[]" id="perkara2'+i+'" style="margin-top:6px !important" ><input type="text" class="form-control form-control-sm" name="perkara3[]" id="perkara3'+i+'" style="margin-top:6px !important" ></div>';
            html += '</div></div>';
            
            html += '<div class="row"><div class="col-md-6">';
            html += '<div class="form-group"><label>No. Rujukan*</label><input id="noruj'+i+'" type="text" class="form-control form-control-sm" name="noruj[]" required></div>';
            html += '</div><div class="col-md-6">';
            html += '<div class="form-group"><label>Jumlah (RM)*</label><input type="text" id="currency" class="form-control form-control-sm currency" name="jumlah[]"  required></div>';
            html += '</div><span>*Ruangan wajib diisi</span></div>';
            html += '</div>';
            
            $('#item').append(html);
    
          $(function()
            {
                   const inputs = $("input").prop('required',true);
                   console.log('return value:');
                   inputs.each(log);
                   
                   console.log('');
                   console.log('selector:');
                   $("input[required]").each(log);
                   
                   function log(index, element) {
                     console.log($(element).attr('name'));
                   }
            });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div id="item"></div>

    【讨论】:

    • 我已经尝试过您的编码,但它仍然无法读取 javascript 中的输入。例如:
    • 我无法理解你的问题。我添加了一个sn-p,请尝试。
    • 对不起,我没有提到我想通过输入字段的 id 而不是输入字段的名称来检测所需的输入字段。这是因为输入的名称已在另一个输入字段中使用相同的形式。提前谢谢你
    • 我的答案中没有对名称字段进行检测,我只输出名称字段。您的问题是获取带有 required 属性的输入字段。已经回答了。元素被传递给变量,你可以做任何事情。
    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多