首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么使用ajax通过输入`type="password"`发送数据不起作用?

为什么使用ajax通过输入`type="password"`发送数据不起作用?
EN

Stack Overflow用户
提问于 2014-06-05 16:37:17
回答 1查看 850关注 0票数 0

为什么使用ajax by input type="password"发送数据不起作用?

当我填写少于6个字符的密码时,它将显示Password minimum 6 characters

好的,当我测试这段代码时,它不能工作,然后我编辑代码index.php

<input type="password" name="password" id="password"

<input type="text" name="password" id="password"

工作还好吧。

我的问题是,如何将此代码应用于<input type="password" name="password" id="password"

index.php

代码语言:javascript
运行
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script language="JavaScript">
       var HttPRequest = false;

       function doCallAjaxpassword() {
          HttPRequest = false;
          if (window.XMLHttpRequest) { // Mozilla, Safari,...
             HttPRequest = new XMLHttpRequest();
             if (HttPRequest.overrideMimeType) {
                HttPRequest.overrideMimeType('text/html');
             }
          } else if (window.ActiveXObject) { // IE
             try {
                HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
             } catch (e) {
                try {
                   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
             }
          } 

          if (!HttPRequest) {
             alert('Cannot create XMLHTTP instance');
             return false;
          }

          var url = 'check_password_lenght.php';
          var pmeters = "CPassword=" + encodeURIComponent( document.getElementById("password").value);

            HttPRequest.open('POST',url,true);

            HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            HttPRequest.setRequestHeader("Content-length", pmeters.length);
            HttPRequest.setRequestHeader("Connection", "close");
            HttPRequest.send(pmeters);


            HttPRequest.onreadystatechange = function()
            {

                if(HttPRequest.readyState == 3)  // Loading Request
                {
                    document.getElementById("mySpanpassword").innerHTML = "..";
                }

                if(HttPRequest.readyState == 4) // Return Request
                {
                    if(HttPRequest.responseText == 'Y')
                    {
                        window.location = 'AjaxPHPRegister3.php';
                    }
                    else
                    {
                        document.getElementById("mySpanpassword").innerHTML = HttPRequest.responseText;
                    }
                }

            }

       }
    </script>








        <input type="password" name="password" id="password" onchange="JavaScript:doCallAjaxpassword();" value="<?php echo htmlspecialchars($_POST['password']); ?>"> <span id="mySpanpassword"></span>

check_password_lenght.php

代码语言:javascript
运行
复制
<?php
$strPassword = $_POST[CPassword];
            // ฟังก์ชันตรวจสอบว่า password มีความยาวเกิน 6 ตัวหรือไม่
            $strlen_password =  strlen($strPassword);
            if ( $strlen_password < 6 ) 
                {
                    echo "Password minimum 6 characters";
                } 
?>
EN

回答 1

Stack Overflow用户

发布于 2014-06-05 16:45:34

当你在页面上加载了XMLHttpRequest时,最好不要使用jQuery对象,这是浪费时间。

HTML

代码语言:javascript
运行
复制
<input type="password" name="password" id="password"/>

JS

代码语言:javascript
运行
复制
$.ajax({
    type: "POST",
    url: "check_password_lenght.php",
    data: { password : $('#password').val() }
}).done(function( response ) {
    alert( response );
});

按您喜欢的方式编辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24055403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档