-2

我为登录框创建了一个 jquery 弹出窗口。它包含电子邮件和密码字段。我想获取在 jquery 弹出窗口中输入的输入值,以便使用 mysql db 检查用户名和密码。我无法从弹出窗口中获取值。

任何人都可以建议我摆脱这个吗?

我的 HTML 代码:

<div class="login-box"><a href="#login-box" class="login-window">Login</a></div>

<div id="login-box" class="login-popup">
  <a href="#" class="close"><img src="close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
  <form method="post" class="signin" id="sign" action="" >
    <fieldset class="textbox">
      <label class="username">
        <!-- <span>Username or email</span>-->
        <input id="username" name="username" value="" type="text" autocomplete="on" placeholder="Email">
      </label>

      <label class="password">
        <!--   <span>Password</span>-->
        <input id="password" name="password" value="" type="password" placeholder="Password">
      </label>
      <div class="clear"></div>
      <button class="submit button" type="button" name="submit" >Login</button>

      <p class="forgot"><a  href="#">Forgot your password?</a></p>
    </fieldset>
  </form>
</div>

我的 jQuery 代码:

$(document).ready(function() {
    $('a.login-window').click(function() {

        // Getting the variable's value from a link 
        var loginBox = $(this).attr('href');

        //Fade in the Popup and add close button
        $(loginBox).fadeIn(300);

        //Set the center alignment padding + border
        var popMargTop = ($(loginBox).height() + 24) / 2; 
        var popMargLeft = ($(loginBox).width() + 24) / 2; 

        $(loginBox).css({ 
            'margin-top' : -popMargTop,
            'margin-left' : -popMargLeft
        });

        // Add the mask to body
        $('body').append('<div id="mask"></div>');
        $('#mask').fadeIn(300);

        return false;
    });

    // When clicking on the button close or the mask layer the popup closed
    $('a.close, #mask').live('click', function() { 
        $('#mask , .login-popup').fadeOut(300 , function() {
            $('#mask').remove();  
        }); 
        return false;
    });
});
4

2 回答 2

1

尝试使用$.ajax()签入mysql db

并获得价值usernamepassword尝试这个,

$('a.login-window').click(function() {

    // Getting the variable's value from a link 
    var loginBox = $(this).attr('href');
    //Fade in the Popup and add close button
    $(loginBox).fadeIn(300);
    //Set the center alignment padding + border
    var popMargTop = ($(loginBox).height() + 24) / 2; 
    var popMargLeft = ($(loginBox).width() + 24) / 2; 

    var uname=$("#username").val();
    var pass=$("#password").val();
    // use the above values in Ajax function


    $(loginBox).css({ 
        'margin-top' : -popMargTop,
        'margin-left' : -popMargLeft
    });
    // Add the mask to body
    $('body').append('<div id="mask"></div>');
    $('#mask').fadeIn(300);
    return false;
});
于 2013-08-16T08:45:54.520 回答
0

您说您无法从弹出窗口中获取字段的值。原来,可以得到。

为此,我对您的代码进行了一些修改,并在单击登录按钮时进行了简单的检索。

此外,您发布的标记有一些尚未结束的标签。

HTML:

<div class="login-box"><a href="#login-box" class="login-window">Login</a></div>

<div id="login-box" class="login-popup">
  <a href="#" class="close"><img src="close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a>
  <form method="post" class="signin" id="sign" action="" >
    <fieldset class="textbox">
      <label class="username">
        <!-- <span>Username or email</span>-->
          <input id="username" name="username" value="" type="text" autocomplete="on" placeholder="Email"/>
      </label>

      <label class="password">
        <!--   <span>Password</span>-->
          <input id="password" name="password" value="" type="password" placeholder="Password"/>
      </label>
      <div class="clear"></div>
      <button class="submit button" id="subMitBtn" type="button" name="submit" >Login</button>

      <p class="forgot"><a  href="#">Forgot your password?</a></p>
    </fieldset>
  </form>
</div>

JS:

$(document).ready(function() {
    $("#subMitBtn").click(function() {

        var userName =  $("#username").val();
        var password =  $("#password").val();
        console.log("userName::"+userName);
        console.log("password::"+password);
    });

});

正如我所说,我不太确定你的 js 的全部功能是做什么的,所以我在上面的代码中公平地修剪了它,只是为了显示字段的检索。

这是一个工作示例:http: //jsfiddle.net/cVm7W/

运行它并在您的浏览器控制台中查看,您将找到值或在 IE 的情况下发出警报。

于 2013-08-16T08:58:51.297 回答