Я знаю, что на этот вопрос уже дан ответ, и большинство из них предложили использовать readonly
атрибуция.
Я просто хочу поделиться своим сценарием и ответом.
После добавления атрибута readonly
к моему HTML элемент, я столкнулся вопрос, что я не в состоянии сделать это атрибута как required
динамически.
Даже попытался установить как readonly
и required
при создании HTML.
Так я предлагаю не использовать readonly
, если вы хотите, чтобы установить его в качестве required
также.
Вместо этого используйте
$("#my_txtbox").datepicker({
// options
});
$("#my_txtbox").keypress(function(event) {
return ((event.keyCode || event.which) === 9 ? true : false);
});
Это позволяет нажимать tab
ключ только.
Вы можете добавить еще keycode, который вы хотите обойти.
I ниже кода, так как я добавил и readonly
и required
он все еще представляет форму.
После удаления readonly
он работает правильно.
https://jsfiddle.net/shantaram/hd9o7eor/
$(function() {
$('#id-checkbox').change(function(){
\t $('#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>
для людей, которые имеют Javascript инвалида я бы оставить поле ввода один в HTML и имеют немного JQuery поместить атрибут только для чтения на странице загрузки $ (документ) .ready (function() {$ ("# my_txtbox"). attr 'readOnly', 'true'); }); Таким образом, пользователи с JS отключены, могут выбрать дату – SimonGates 2011-03-29 11:49:10
, это здорово .. однако стиль по умолчанию, который Chrome (и, возможно, другие браузеры) добавляет к атрибутам readonly, действительно неприятен, поэтому не забудьте переопределить его. – Damon 2012-06-07 19:35:53
Внимание. С помощью `readonly` datepicker конечный пользователь ** сможет manpilate ** значение поля, выбрав другую дату из datepicker, как в этой ошибке: http://bugs.jqueryui.com/ticket/13107 – Serge 2015-06-11 15:07:42