Вы можете напрямую передать ключ (NavigationViewExpandedPaneBackGround) в AcrylicBrush. Так что это изменит ваш навигационный вид фона.
Хм, здесь что-то подозрительно.
В каком браузере пустое текстовое поле возвращает NaN? Я никогда не видел, чтобы это произошло, и я не могу воспроизвести его.
Значение текстового поля - фактически строка. Пустое текстовое поле возвращает пустую строку!
Да, и чтобы проверить, является ли что-то NaN, вы должны использовать:
if (isNaN(tb.value))
{
...
}
Примечание: isNaN ()
-функция возвращает true
] для всего, что не может быть проанализировано как число, кроме пустых строк. Это означает, что это хорошая проверка для числового ввода (намного проще, чем регулярные выражения):
if (tb.value != "" && !isNaN(tb.value))
{
// It's a number
numValue = parseFloat(tb.value);
}
Вы также можете сделать это следующим образом:
var number = +input.value;
if (input.value === "" || number != number)
{
// not a number
}
NaN равняется ничему, даже самому себе.
если вам не нравится использовать + для преобразования из String в Number, используйте обычный parseInt, но не забывайте всегда указывать основание
var number = parseInt(input.value, 10)
, иначе «08» становится 0, потому что Javascript считает, что это восьмеричное число.
Предполагая, что у вас есть ссылка на текстовое поле ввода:
function getInteger(input) {
if(!input || !input.value) return "";
var val = parseInt(input.value, 10);
if(isNaN(val)) return "";
else return val;
}
Одна вещь, которую вы могли бы сделать, это проверить регулярное выражение значения текстового поля и убедиться, что оно соответствует формату принятого числа, а затем, если оно соответствует формату, выполнить ваш процесс, в противном случае вернуть пустая строка.
Редактировать : Это пример некоторого кода, который у меня есть (возможно, это не лучшее регулярное выражение):
var anum=/(^\d+$)/;
if (!anum.test(document.getElementById("<%=txtConceptOrderValue.ClientID %>").value))
{
alert("Order Value must be a valid integer");
document.getElementById("<%=txtConceptOrderValue.ClientID %>").focus();
return false;
}
Редактировать 2 : Я должен также отметить, что я Я использую ASP.NET, поэтому у меня есть немного причудливый способ доступа к текстовому полю. В вашем обычном случае JavaScript это может быть не так загромождено.