url:contains
не является допустимым JavaScript, и это вызовет ошибку разбора. Как и во всех селекторах jQuery, вы фактически передаете строку для анализа jQuery:
$("url:contains('text')")
Тем не менее, url:
не является допустимым селектором jQuery. JQuery на самом деле не является решением этой проблемы; вместо этого используйте window.location.href
, чтобы получить текущий URL, и протестируйте его с помощью регулярного выражения:
if (window.location.href.match(/text/)) {
// ...
}
Следующая проблема - ваш код для включения / выключения ваших полей ввода. Это ... за гранью разбитого. Во-первых, если элемент имеет идентификатор, просто используйте селектор #id
. Во-вторых, селекторы, такие как :enabled
, предназначены для фильтрации элементов - извлечения более специфических элементов из DOM для работы. Они на самом деле не изменяют состояние элементов, которые они выбирают.
Вы хотите что-то вроде этого:
if (window.location.href.match(/text/)) {
// apply disabled attribute
$('#field-owner').attr('disabled', 'disabled');
} else {
// remove disabled attribute if it exists
$('#field-owner').removeAttr('disabled');
}
Обновление
RE: $ not defined
:
Вы не включили библиотеку jQuery на свою страницу. Убедитесь, что вы скачали jQuery и успешно добавили его на свою страницу с помощью тега <script>
.