繁体   English   中英

在此html页面中做什么?

[英]What is the action doing in this html page?

任何机构都可以帮助我分析以下html来告诉我logined_form的表单操作是什么?

<form name="logined_form" action="login" method="post" style="display:none;" >
    <input type="hidden" name="logined" value="true" />

        <input type="hidden" name="client_id" value="78a32e4ee9d4242134124" />                  
        <input type="hidden" name="display" value="web" />                              
</form>

<div class="login" id="noLoginedDiv">
    <form name="login_form" action="" method="post" onsubmit="return check_form();">
        <ul>
            <li class="fix"><input name="username" class="u" value="Email" type="text" onclick="username_onclick();" onblur="username_onblur();"/>
            </li>
            <li class="fix"><input name="password" class="p" type="password" />
            </li>
            <li>&nbsp;</li>
            <li class="fix"><button>Authorize</button>
            </li>
        </ul>
    </form>
</div>

<script type="text/javascript">

    var login_form = null;
    var logined_form = null;
    var xmlhttp = null;

    function init(){
        login_form = document.forms["login_form"];
        logined_form = document.forms["logined_form"];
    }

    function submitAutoLogin(){
        logined_form.submit();
    }

    var check_form = function(){
        if(login_form["username"].value == "Email"){
            login_form["username"].select();
            return false;
        }
        if(login_form["password"].value == ""){
            login_form["password"].select();
            return false;
        }
        xmlhttp = CreateHTTPObject();
        if (xmlhttp) {
            xmlhttp.open("POST", "https://api.mywebsite.com/login.do", true);
            xmlhttp.onreadystatechange = function(){
                if (xmlhttp.readyState == 4) {
                    eval(xmlhttp.responseText);
                }
            };
            xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
            var query = "_=_";
            query += "&loginname=" + encodeURIComponent(login_form["username"].value);
            query += "&password=" + encodeURIComponent(login_form["password"].value);
            query += "&act=ajaxLogin2Json";
            query += "&app=oauth2";
            query += "&callback=login_callback";
            xmlhttp.send(query);
        }

        return false;
    };

    var login_callback = function(result){
        var status = result["system"];
        if(status == 0){
            showMsg("Password wrong");
            return ;
        }else if(status < 0){
            showMsg("Failed to login");
            return ;
        }
        submitAutoLogin();
    };
</script>           

成功登录后,将调用commitAutoLogin()函数,以便logined_form被提交。 但是我不明白action =“ login”是什么意思。 有人可以帮忙吗? 谢谢

ACTION属性提到要对提交表单采取的确切操作。 ACTION属性保留“ SCRIPT PAGE”的值,该值还包含处理从表单接收的数据的逻辑。

在代码中你上面贴- ACTION保持空和onSubmit事件的调用javascript函数check_form()。

check_form()进一步对服务器端脚本进行AJAX调用并处理表单值。

通常,操作是向其提交数据的端点。 如果您的操作是form.php,则数据将发布到文件form.php。

当您使用javascript结合AJAX捕获表单时,大多数情况下不使用该操作。 仅在通过获取要使用的操作值来提取操作以将其发布的情况下才用于某些目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM