Saya tahu pertanyaan ini sudah dijawab, dan sebagian besar menyarankan untuk menggunakan readonlyattribure.
Saya hanya ingin membagikan skenario dan jawaban saya.
Setelah menambahkan readonlyatribut ke Elemen HTML saya , saya menghadapi masalah bahwa saya tidak dapat menjadikan atribut inirequired secara dinamis.
Bahkan mencoba pengaturan keduanya readonlydanrequired pada waktu pembuatan HTML.
Jadi saya sarankan jangan gunakan readonlyjika Anda ingin mengaturnya requiredjuga.
Sebaliknya gunakan
$("#my_txtbox").datepicker({
// options
});
$("#my_txtbox").keypress(function(event) {
return ( ( event.keyCode || event.which ) === 9 ? true : false );
});
Ini memungkinkan untuk menekan tabtombol saja.
Anda dapat menambahkan lebih banyak kode kunci yang ingin Anda bypass.
Saya di bawah kode karena saya telah menambahkan keduanya readonlydan requiredmasih mengirimkan formulir.
Setelah menghapusnya readonlyberfungsi dengan baik.
https://jsfiddle.net/shantaram/hd9o7eor/
$(function() {
$('#id-checkbox').change( function(){
$('#id-input3').prop('required', $(this).is(':checked'));
});
$('#id-input3').datepicker();
$("#id-input3").keypress(function(event) {
return ( ( event.keyCode || event.which ) === 9 ? true : false );
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://code.jquery.com/ui/jquery-ui-git.css" rel="stylesheet"/>
<form action='https://jsfiddle.net/'>
Name: <input type="text" name='xyz' id='id-input3' readonly='true' required='true'>
<input type='checkbox' id='id-checkbox'> Required <br>
<br>
<input type='submit' value='Submit'>
</form>