簡體   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