jQuery, AJAX: всплывающее диалоговое окно jQuery с переданным параметром в html-форму

Я могу открыть диалоговое окно jQuery с пустой html-формой.

Но теперь я хотел бы открыть диалоговое окно jQuery с html-формой, которая передала параметры.

Код:

кнопка, которая запускает диалоговое окно jQuery (код JSP):

<input id="update_button" type="button" value="Edit" onclick="UpdateFunction('<%=category.getTag()%>');" />

скрипт для диалога:

<head>
    <script>
        function UpdateFunction(tag) {
            alert(tag); // I can get this parameter correctly
            $( "#update_category" ).dialog( "open" );
        }

        $(document).ready(function(){
            $( "#update_category" ).dialog({
                autoOpen: false,
                width: 600
            });
        });
    </script>
</head>

Код формы HTML (исходно он включает код GAE в «действии формы», и я удалил его, чтобы прояснить этот вопрос):

<body>
    <%
        String categoryTag = request.getParameter("categoryTag");
        // curCategory will be derived from categoryTag
    %>
    <div id="update_category">
        <form id="categoryForm" name="categoryForm">
            <table>
                <tr>
                    <td>Tag : </td>
                    <td><input type="text" name="categoryTag" style="color:#888;" value="<%= curCategory.getTag() %>" readonly /></td>
                </tr>

                <tr>
                    <td>Title : </td>
                    <td><input type="text" name="categoryTitle" value="<%=  curCategory.getTitle() %>" /></td>
                </tr>
            </table>
        </form>
    </div>
</body>

Вопрос в том:

В настоящее время код в теле будет выполняться сначала, так что «String categoryTag» станет нулевым в следующем

<%
    String categoryTag = request.getParameter("categoryTag");
    // curCategory will be derived from categoryTag
%>

И позже это приведет к исключению NullPointerException.

Итак, как я могу открыть диалоговое окно jQuery с переданной формой параметра?

Заранее спасибо.

Эрик


person Eric Tseng    schedule 05.08.2014    source источник
comment
Если я вас правильно понял, вам нужно передать динамические значения в диалог?   -  person Santhosh    schedule 05.08.2014
comment
@san krish да, мне нужно передать динамические значения в диалог   -  person Eric Tseng    schedule 05.08.2014
comment
Почему вы не запускаете функцию при нажатии, чтобы форма загружалась с динамическими значениями?   -  person Santhosh    schedule 05.08.2014
comment
@san krish Как я могу динамически загружать форму при открытом диалоговом окне?   -  person Eric Tseng    schedule 05.08.2014
comment
я имею в виду открыть диалоговое окно, только когда у вас есть значения в форме. так запускать его по клику   -  person Santhosh    schedule 05.08.2014
comment
@san krish Я знаю, но как я могу это сделать   -  person Eric Tseng    schedule 05.08.2014


Ответы (1)


Вместо вызова отдельной функции .dialog( "open" ). вы можете написать это как ,

<script>
        function UpdateFunction(tag) {
            alert(tag); // I can get this parameter correctly
            var dialog_text=tag;
            $("#update_category").empty();
            $("#update_category").append(dialog_text);
            $( "#update_category" ).dialog({
                autoOpen: false,
                width: 600 
                //Handle your button events for the dialog.
            });
        }
    </script>
person Santhosh    schedule 05.08.2014