У вас вопрос немного запутанный, поэтому я отвечу из того, что я могу понять.
Вы хотите получить данные, значение id которых является «разрешением». Правильный синтаксис будет следующим:
HTML:
<input type="text" id="permission" name="tenants" class="form-control">
Javascript:
var x = document.getElementById("permission").value;
Это не обнаружение внешних скобок. Он находит самую внутреннюю пару, переворачивает внутреннюю, а затем повторяет, пока не останется больше скобок.
if inputString[i] == ")":
....
Этот блок срабатывает, когда вы нажмете первый «)», и на этом этапе start
будет «(», который открывает первый «)». Это самая внутренняя пара.
Тогда у вас есть:
return reverseInParentheses(inputString[:start]+inputString[start+1:end][::-1]+inputString[end+1:n])
Это переворачивает содержимое от начала до конца (самая внутренняя пара), а затем вызывает функцию, обрезая остальную часть цикла for.
Если вы на самом деле печатаете inputString
на каждом шаге, вы получаете:
foo(bar(baz))blim
foo(barzab)blim
foobazrabblim
Внутренние скобки меняются местами.