Так как ints не подписаны, (== 0 || a> 1) может быть заменен (a! =1).
С первой передачей, можно уменьшить его до этого:
uint sum = a + p;
return ((sum <= b) && (a != 1) && (b >= p)) && (b - sum != 1);
кроме того, это было бы намного более читаемо, если бы Вы смогли дать больше понятных имен переменным. Например, если бы a и p были давлениями, то a+p мог быть substitued как PressureSum.
Насколько я могу судить, выполнение
var recipient = $(".recipient")
Выберет все элементы dom с КЛАССОМ получателя. В вашем поле ввода есть класс inputBox.
Вам нужно выбрать по его идентификатору с помощью #
Итак:
var recipient = $("#recipient")
Но вы используете элементы управления ASP.NET, которые дают ему уникальный идентификатор, сгенерированный на сервере, поэтому он уникален. (в вашем случае это ctl00_contentPlaceHolderRightColumn_recipient)
Для выбора вам нужно будет сделать
var recipient = $("#<%=recipient.ClientID%>")
-отредактированные некоторые синтаксические ошибки
Если вы установите clientID текстового поля asp, вы сможете использовать его в JQuery так же, как и у вас, но с хешем вместо точки.
Например,
ClientID = "recipient"
then
var recipient = $('#recipient').innerHTML()
or
var recipient = $('#recipient').text()
Я думаю, что селектор jQuery возвращает вам список объекты. Вы пробовали:
var recipient = $(".recipient")[0].val();
ОБНОВЛЕНИЕ
А что насчет этого:
var recipient = $ (". recipient: first"). val ();
У него также есть приятное преимущество - он будет тормозить при первом совпадении.