У меня есть диалоговое окно 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/