Установка значения как: скрыто в JavaScript - PullRequest
1 голос
/ 27 декабря 2011

У меня есть JSP с полями ввода HTML, такими как "username".У меня есть метод JavaScript, где я получаю значение этого поля с помощью `document.getElementById ('userId'). Value.

Теперь у меня есть тег struts2: <s:hidden name="username" />

* 1006JavaScript, перед отправкой мне нужно установить значение из поля ввода текста в поле скрытого тега Struts 2.Я не могу использовать текст непосредственно из поля ввода, и мне нужно установить для него скрытый тег Struts 2.

Ответы [ 4 ]

1 голос
/ 19 июня 2014

Сначала вы должны задать id для скрытого поля, затем вы можете установить его с помощью jquery или javascript.

Ниже приведен пример установки его с помощью jquery

Это ваша форма

это установит имя пользователя из jquery;

<script type="text/javascript">
            $(document).ready(function() {
               $(document).on('click', '#s', function(event) {
                    event.preventDefault();
                    var name="Ram";
                    $("#uname").val(name);
                });
            });
</script>

Если это очень важные данные, сохраните их в сеансе или в любой другой области действия и получите их непосредственно к действию.

1 голос
/ 27 декабря 2011
  1. Почему вы не можете напрямую присвоить значение скрытому полю?
  2. Входные теги Struts2 в конечном итоге преобразуются в обычные HTML-теги при рендеринге страницы, поэтому вам не нужно назначать ничего особенногоих ценность.Просто укажите идентификатор для скрытого элемента и присвойте значение, используя JavaScript, как вы обычно делаете

    <s:textfield id="mytext" value="yourvalue"/>
    <s:hidden id="myhidden" value=""/>
    
    
    function assignvalue(){
        document.getElementById("myhidden").value=document.getElementById("mytext").value;
    }
    
0 голосов
/ 04 декабря 2013

Вы можете установить значение текстового поля равным скрытому значению на кнопке отправки.

Позвольте показать вам пример, <script type="text/javascript>

function setHiddenValue(){

document.getElementById('hiddenfield').value = document.getElementById('textfield'); }

</script>

<s:hidden name="hiddenfield" id="hiddenfield" />

<s:textfield name="textfield" id="textfield" />

<input type="submit" onclick="setHiddenValue();" />

0 голосов
/ 27 декабря 2011

Теги Struts2 предоставляют только некоторые дополнительные функции для лучшей работы с потоком Struts2. Они похожи на помощников, которые дают вам некоторые готовые функции для тесной работы со Struts2.

В конце концов, когда ваш JSP будет отображаться браузером, будь то тег Struts2 / ваши пользовательские теги или любая другая используемая вами библиотека тегов будут преобразованы в чистый HTML, понятный вашему браузеру.

Так что, если у вас есть текстовое поле, скажите

<s:textfield name="username" id="username" value=""/>

он будет преобразован в HTML при окончательном отображении как

<input type="text" name="username" id="username" value="">

Просто обратите внимание, что если вы не предоставите id для своего текстового поля, Struts2 сгенерирует идентификатор самостоятельно при преобразовании кода тега в окончательный HTML, поэтому, если вы хотите, чтобы пользовательский идентификатор для текстового поля / любого другого поля был указан явно.

Таким образом, у вас есть все возможности использовать известный способ JavaScript

document.getElementById("myhidden")

и делайте все, что хотите, со значениями.

...