在这个html页面中做了什么动作?

时间:2015-06-15 13:18:04

标签: php html oauth-2.0

任何正文都可以帮我分析下面的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>           

成功登录后,将调用 submitAutoLogin() 功能,以便提交logined_form。但我不明白动作=“登录”是什么意思。有人可以帮忙吗?感谢

2 个答案:

答案 0 :(得分:1)

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

在上面发布的代码中 - 操作保持为空,在 onSubmit 事件中,调用javascript函数 check_form()。< / p>

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

答案 1 :(得分:0)

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

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