#c# #jquery #urlencode
#c# #jquery #urlencode
Вопрос:
Похоже, что jQuery не может анализировать значение из элемента, который имеет идентификатор со специальным символом «. Приведенное ниже утверждение ничего не возвращает, если идентификатор задания имеет специальный символ « т.е. item123 * 1
var itemValue = $(jobID).val();
Как C # в серверной части моего веб-приложения MVC, поэтому я попытался закодировать с помощью HttpContext.Current.Сервер.UrlEncode() перед отправкой данных для просмотра.
Но UrlEncode() не кодирует специальный символ ‘*’.
Кто-нибудь сталкивался с подобной проблемой раньше?
Комментарии:
1. * недопустимый символ для идентификатора элемента html. Вам нужно будет заменить его чем-то другим, например, подчеркиванием.
2. @user1751825 Вы должны буквально опубликовать это как ответ, потому что это все, что нужно. Подождите секунду, это допустимый HTML. Я никогда не использовал его в качестве идентификатора, но технически он действителен.
3. Может помочь некоторый контекст. Как насчет того, чтобы попробовать console.log (JobID); ?
Ответ №1:
Идентификаторы со звездочкой ( *
) принимаются в HTML5, но звездочка используется как метасимвол в строках селектора CSS. Вам нужно экранировать метасимволы, используя две обратные косые черты ( \
).
Смотрите здесь для получения дополнительной информации.
console.log($("#item123\*1").val());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="item123*1" value="test">