Я пытаюсь использовать функциональность jQuery в IDE Software AG webMethods, которая генерирует страницы самостоятельно. По сути, я даю функциям jQuery идентификатор элемента, сгенерированный сервером, но jQuery не может прочитать его значение или записать значение к нему, или сделать что-нибудь с ним ..
Вот код, который я использую:
if(jQuery.isNumeric(jQuery(CAF.model("#{activePageBean.clientIds['txtInput']}").id).val()))
{
alert("its a number");
}
else
{
alert("its not a number");
}
txtInput - это обычное текстовое поле ввода, а приведенный выше код назначается кнопке ... И независимо от того, что вводится в текстовое поле, я всегда получаю предупреждение «это не число».
Кроме того, если я использую этот код вместо ..
alert(jQuery(CAF.model("#{activePageBean.clientIds['txtInput']}").id).val());
... Я всегда получаю предупреждение о том, что "не определено" (без двойных кавычек)..
Выражение, возвращающее идентификатор текстового поля:
CAF.model("#{activePageBean.clientIds['txtInput']}").id
.. а это:
jsfwmp147312:defaultForm:txtInput
Если вместо этого я запущу эту встроенную функцию webMethods, чтобы получить значение:
CAF.model("#{activePageBean.clientIds['txtInput']}").getValue();
Он возвращает значение, которое в настоящее время находится в текстовом поле.
Таким образом, по какой-то причине функции jQuery не могут «соединиться» с элементами страницы.
Как это диагностировать/решить?
ИЗМЕНИТЬ:
Дополнительная информация:
Если я попробую следующий код...
var myId = "jsfwmp147312:defaultForm:txtInput";
var element = document.getElementById(myId);
alert(element.value + "");
.. Я получаю строковое значение строкового текстового поля в предупреждении в порядке, без проблем... Но если я попробую это...
var myId = "jsfwmp147312:defaultForm:txtInput";
var val2 = jQuery(myId).val();
alert(val2);
... Я получаю предупреждение с сообщением "undefined" (без двойных кавычек)..