Попробуйте поместить значение в одинарные кавычки. Если вы делаете это с помощью:
document.querySelectorAll("input[name=" + data['res'] + "]");
// let's say data['res'] = 'name with a space'
// value would be "input[name=name with a space]" -- invalid
Вы получите недопустимое значение из-за отсутствия цитирования.
Вы можете поставить одинарные кавычки после «name =» и перед «]»:
document.querySelectorAll("input[name='" + data['res'] + "']");
// value would be "input[name='name with a space']" -- valid
Текстовое поле должно быть отключено.
Если текстовое поле будет скрыто, то видимое изменение формы сделает программу менее удобной для пользователя. Примером этого являются старые (очень непопулярные) исчезающие пункты меню, которые раньше были в Microsoft Office. Люди не хотят вещи, перемещающиеся на их экранах. Это дезориентирует.
Если пользователю разрешают ввести бесполезное значение, то это производит ложное впечатление, что ввод значения имеет некоторый эффект.
Отключение текстового поля является наилучшим вариантом в этом случае. То, что текстовое поле позволено/отключено как флажок, проверено/снято флажок, предоставляет полезную обратную связь пользователю: опция нечто использования ожидает значение нечто, и значение нечто только значимо, если опция нечто использования выбрана.
Сокрытие текстового поля является менее удовлетворительным - если флажок не будет установлен, то пользователь не поймет, что включение опции нечто позволит им указывать значение нечто. Вообразите их думающий себе: "Лучше не надо выберите опцию нечто использования, поскольку я понятия не имею, какое значение нечто будет использоваться".
Третья опция хуже, с тех пор не указывает, что вводимое значение будет проигнорировано.
Отключите текстовое поле
С текстовым полем, скрытым, пользователь может перескочить через опцию "Use Foo", так как им не будет ясно, как они будут или должны определить "нечто". С текстовым полем, видимым но отключенным, пользователь распознает, что они могут определить "нечто", после того как они говорят, что хотят использовать его.
Очевидно отключение текстового поля одобрено, потому что у пользователя все еще есть визуальная подсказка относительно того, что "Нечто" позволит им сделать.
Но обо что относительно панели "More options>>" / "<<Less options", которая открывается или закрывается, поскольку проверено/снято флажок "Нечто"? Очень работать, с точки зрения разработчика и/или слишком большой игры, с точки зрения пользователя? Самостоятельно, мне нравится способ, которым это очищает интерфейс, учитывая, что значения по умолчанию для "Нечто" (при сокрытии) являются соответствующими.
(Однако я не использую это везде. Модерирование во всех хороших вещах.)
Я одобряю отключение по сокрытию, если только потому, что оно избегает ненужного пробела на Вашем диалоговом окне.
Отключите текстовое поле.
Это проясняет пользователю, что существует опция, которая, оказывается, недоступна. Сокрытие его будет иногда получать пользовательский ответ, "Куда мое поле шло".
Другая опция состояла бы в том, чтобы позволить ввести входу некоторые данные, если он хочет также, но автоматически проверять флажок нечто, если он начинает вводить в текстовое поле нечто.