2017-02-03 3 views
1

У меня есть этот код в моем JSPОбратитесь к функции тегов от js?

<script type="text/javascript"> 

    function myJsFunction() { 
     var queryString = new QueryString(); 
     queryString.add('initDate', document.getElementById('${id}').value); 
    } 

И это работает. Я хочу document.getElementById('${id}').value передать Повсеместно мой тег LIB и добавить

<%@ taglib prefix="my" uri="http://tags/my"%> 


    <script type="text/javascript"> 

    function myJsFunction() { 
     var queryString = new QueryString(); 
     queryString.add('initDate', ${my:myTagFunc(document.getElementById('${id}').value)}); 
    } 

Но замедляется пустой, несмотря на это document.getElementById('${id}').value возвращает строку. Я не понимаю, почему?

+0

Я не понимаю, что вы хотите сделать, у вас есть метод с именем 'function' в пользовательской библиотеке тегов с именем' my'? –

+0

@Pablo жаль, что в моей библиотеке вкладок есть функция my: myTagFunc – Xelian

+1

Вы не можете этого сделать. поскольку '$ {my: myTagFunc()}' будет выполняться на стороне сервера, а его параметр предоставляется 'document.getElementById', вы должны создать API и использовать вызов AJAX для получения данных – Satpal

ответ

2

Вы смешиваете два разных кода. Ключ должен осознать, где и когда выполняется каждый код - JSP на сервере, когда страница запрашивается и оказанной (т.е. перед тем ответ отправляется в браузер) и Javascript в браузере, после Браузер получает сообщение сгенерировал разм.

Как прокомментировал Сатпал, вам необходимо AJAX.

+0

Ooo, поэтому его значение равно" "? Как сделать AJAX для этого? – Xelian