Sé que esta pregunta ya está respondida, y la mayoría sugirió usar la readonlyatribución.
Solo quiero compartir mi escenario y responder.
Después de agregar el readonlyatributo a mi Elemento HTML , me enfrenté al problema de que no puedo hacer este atributo de forma requireddinámica.
Incluso intenté configurarlo como ambosreadonly y requireden el momento de la creación de HTML.
Así que sugeriré no usar readonly si desea configurarlo requiredtambién.
En lugar de usar
$("#my_txtbox").datepicker({
// options
});
$("#my_txtbox").keypress(function(event) {
return ( ( event.keyCode || event.which ) === 9 ? true : false );
});
Esto permite presionar tabsolo la tecla.
Puede agregar más códigos clave que desea omitir.
Yo debajo del código ya que he agregado ambos readonlyy requiredtodavía envía el formulario.
Después de quitar readonly funciona correctamente.
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>