Не удается получить модальный диалог jQuery-UI для установки значения при отправке - PullRequest
0 голосов
/ 06 ноября 2010

У меня есть диалоговое окно jQuery Modal, которое запрашивает у пользователя его имя пользователя OpenID.Проблема в том, что я не могу заставить функцию «Отправить» правильно установить имя пользователя

<script>
    var OpenIDAddress;

    $('.openid_btn').click(function () {
        switch ($(this).text()) {
            case "Google":
                $("#openid_identifier").val("https://www.google.com/accounts/o8/id");
                break;
            case "Yahoo!":
                $("#openid_identifier").val("http://yahoo.com/");
                break;
            case "myOpenID":
                OpenIDAddress = 'http://{username}.myopenid.com/';
                openOpenIDDialog();
                break;
        }
    });

    // Manages the username window
    $("#openid-username-dialog").dialog({
        autoOpen: false,
        resizable: false,
        height: 140,
        modal: true,
        buttons: {
            'Submit': function () {
                OpenIDAddress = OpenIDAddress.replace(/{username}/, $("openid-username").val());
                $("#openid_identifier").val(OpenIDAddress);
                $(this).dialog('close');
            },
            Cancel: function () {
                $(this).dialog('close');
            }
        }
    });


    // Opens the Username Input Window
    function openOpenIDDialog() {
        $('#openid-username-dialog').css('display', 'inherit');
        $('#openid-username-dialog').dialog('open');

        return false;
    }
</script>

В основном я использую оператор case, чтобы решить, какой openID щелкнул пользователь.

Если поставщику openID требуется имя пользователя, я открываю модальное диалоговое окно с запросом имени пользователя.

Затем, когда пользователь нажимает "Отправить", я хочу запустить регулярное выражение для замены {username} на запись пользователя.

Проблема, с которой я сталкиваюсь, заключается в том, что когда вы нажимаете кнопку Отправить, я получаю следующее:

http://undefined.myopenid.com/

1 Ответ

1 голос
/ 06 ноября 2010

СВОБОДНЫЙ СЫН А @ # $% ^

Я забыл добавить хеш-знак

OpenIDAddress = OpenIDAddress.replace(/{username}/, $("openid-username").val());

должен быть

OpenIDAddress = OpenIDAddress.replace(/{username}/, $("#openid-username").val());
...