Потеря Текстового поля оценивает обратной передачей

На странице у меня есть ссылка; нажатие на него открывает диалоговое окно и устанавливает значение текстового поля для того диалогового окна.

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

Ссылка:

<a href="#" onclick="javascript:expand('https://me.yahoo.com');
jQuery('#openiddialog').dialog('open'); return false;">
<img id="yahoo" class="spacehw" src="/Content/Images/spacer.gif" /></a>

Сценарий:

<script type="text/javascript">
  jQuery(document).ready(function () {
    jQuery("#openiddialog").dialog({
        autoOpen: false,
        width: 600,
        modal: true,
        buttons: {
           "Cancel": function () {
              $(this).dialog("close");
           }
        }
    });
});
function expand(obj) {
    $("#<%=openIdBox.ClientID %>").val(obj);
}

Диалоговое окно:

<div id="openiddialog" title="Log in using OpenID">
<p>
    <asp:Label ID="Label1" runat="server" Text="OpenID Login" />
    <asp:TextBox ID="openIdBox" EnableViewState="true" runat="server" />
    <asp:JButton Icon="ui-icon-key" ID="loginButton" runat="server" Text="Authenticate" OnClick="loginButton_Click" />
    <asp:CustomValidator runat="server" ID="openidValidator" ErrorMessage="Invalid OpenID Identifier" ControlToValidate="openIdBox" EnableViewState="false" OnServerValidate="openidValidator_ServerValidate" />
    <br />
    <asp:Label ID="loginFailedLabel" runat="server" EnableViewState="False" Text="Login failed" Visible="False" />
    <asp:Label ID="loginCanceledLabel" runat="server" EnableViewState="False" Text="Login canceled" Visible="False" />
</p>
</div>
9
задан Bastien Léonard 9 June 2010 в 08:40
поделиться

2 ответа

Я понял:

Мне нужно добавить эту строку, чтобы добавить диалог к форме, как jquery dialog добавляет к телу:

$("#openiddialog").parent().appendTo(jQuery("form:first"));

Теперь весь скрипт должен выглядеть так:

<script type="text/javascript">
jQuery(document).ready(function () {
    jQuery("#openiddialog").dialog({
        autoOpen: false,
        width: 600,
        modal: true,
        buttons: { "Cancel": function () {
            $(this).dialog("close");
        }
        }
});
$("#openiddialog").parent().appendTo(jQuery("form:first"));
});
function expand(obj) {
    $("#<%=openIdBox.ClientID %>").val(obj);
}

7
ответ дан 4 December 2019 в 22:27
поделиться

Почему вы добавляете # перед идентификатором текстового поля? Я думаю, вы должны использовать :

function expand(obj) {
    $("<%=openIdBox.ClientID %>").val(obj);
}
1
ответ дан 4 December 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: