在jquery模式对话框中获取Textbox的值

时间:2014-10-09 16:57:24

标签: javascript jquery asp.net-mvc-3 jquery-dialog

我在jquery模式对话框中打开一个视图,如下所示

$("a.OpenView").on('click', function () {
       ></div>")
            .addClass("dialog closePopup")
            .attr("id", "popup1")
            .appendTo("body")
            .load("../../ControllerName/_partialView")
            .dialog({
                title: "LogIn",
                modal: true,
                height: "auto",
                minHeight: 260,
                maxHeight: 260,
                width: 450,
                left: 0,
                zIndex: 1001
            });

    });

HTML

<table cellpadding="0" cellspacing="0">
        <tr>
          <td align="center"><input name="" type="text" value="" title="User Name" class="width190" id="txtUserName" onfocus="txtFocus(this)" onblur="txtFBlur(this,'0')"/></td>
          <td align="center"><input name="" type="password" value=""  title="Password" class="width190" id="txtPassword" onfocus="txtFocus(this)" onblur="txtFBlur(this,'1')"/></td>
        </tr>
        <tr>
          <td colspan="2" align="center"><input name="" type="submit" class="blue_btn" value="Sign In"  id="btnLogIn" onclick="javascript:return LogIn()"/></td>
        </tr>

      </table>

现在,只要我关闭对话一次,然后我再次重新打开它并输入用户名和密码......我得到""作为两个文本框的值......

可能的原因是什么,我做错了什么?

这里的LogIn功能

function LogIn() {
    var username = $('#txtUserName').val();
    var password = $('#txtPassword').val();
}

3 个答案:

答案 0 :(得分:2)

我认为DOM中有2个元素具有相同的ID。 尝试销毁对话框而不是关闭它。

$("#popup1").dialog('destroy').remove()

答案 1 :(得分:1)

嘿,在父页面中创建closeframe函数

function closeIframe() {
    $('#divClose').dialog('destroy');
}

并从子页面调用该函数,您可以说model popup

window.parent.closeIframe();

作为参考,您可以访问我的Link

答案 2 :(得分:0)

尝试使用Jquery对话框的事件“beforeClose”

查看更多Documentation here