Переменная не проходит через элемент формы - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть глобальная переменная с именем 'name', когда пользователь нажимает на кнопку, запрашивается содержимое текстовых полей, и для 'name' устанавливается содержимое, а затем имя печатается на другой странице jquery.

Моя проблема в том, что имя никогда не печатается как имя, которое было ему задано, оно всегда печатается как то, что было изначально установлено вместо него.

Вот моя функция обратного вызова:

    <script type="text/javascript">
        $("#finalize").click(function(e)
        {
            g_name = "BLAH";
            return true;
        });
    </script>

Для простоты я установил имя «БЛА» на клик.

g_name объявляется глобально (т.е. вне области действия функции).

На другой странице jquery у меня есть:

document.write('<label for="testname">Name:</label>');
                document.write('<input type="text" name="testname" id="testname" value="');
                document.write(g_name)
                document.write('"/>');

И g_name всегда показывается как что-то еще, независимо от того, к какому g_name изначально была инициализирована.

Кнопка, обратный вызов которой устанавливает глобальную переменную, также перемещает страницы, если это имеет значение ...

редактирование:

Хорошо, я выяснил, в чем дело, глобальная переменная записывалась до того, как была установлена. Сейчас я пытаюсь сделать это:

        <script type="text/javascript">
            $('#confirmscreen').bind('pageshow',function() 
            {
                document.write('<label for="testname">Name:</label>');
                document.write('<input type="text" name="testname" id="testname" value="');
                document.write(g_name);
                document.write('"/>');

                document.write(g_phonenumber);
            });
        </script>

Однако jquery, похоже, не нравится использовать document.write для события 'pageshow', есть ли способ, которым я могу сделать эту работу, то есть выписать g_name, когда страница отображается, а не когда веб-сайт загружен?

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Вместо использования document.write используйте метод javascript document.createElement () и используйте метод setAttribute () для назначения значений и атрибутов созданному элементу.

Надеюсь, это поможет вам.

0 голосов
/ 30 сентября 2011

Если эта кнопка вызывает изменение местоположения страницы, тогда ваша глобальная переменная будет сброшена и недоступна на второй странице, если это имеет смысл.В javascript глобальные переменные для каждого окна, если местоположение окна изменяется, новый набор глобальных переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...