【前端學習筆記】利用iframe實現表單的無刷新提交案例


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<iframe name="formsubmit" id="myFrame" style="display: none"></iframe>    
<!-- 將form表單提交的窗口指向隱藏的ifrmae,並通過ifrmae提交數據。 -->    
<form action="./login" method="POST" name="forphp" target="formsubmit">    
    <p>   
        <label for="uname">用戶名:</label>    
        <input type="text" name="uname" id="uname"/>    
    </p>    
    <p>
        <label for="pwd">密 碼:</label>    
        <input type="password" name="pwd" id="pwd"/>    
    </p>     
    <p>   
        <input type="submit" value="登錄" id="sub"/>    
    </p>    
</form>
</body>
</html>
<script>
    var form = document.getElementsByTagName('form')[0]; 
    var frame = document.getElementById('myFrame');

    function callback(a,b){
        var uname = document.getElementById('uname').value;
        var pwd = document.getElementById('pwd').value;
        if(uname == a && pwd == b ){
            alert('登錄成功');
            form.reset();
        }
        else{
            alert('賬號密碼錯誤');
        }
    }
    frame.addEventListener('load',function(event){
            try{
                var result = JSON.parse(frame.contentWindow.document.body.textContent);
                // 識別登錄結果
                if (result.code === 200){
                    callback(result.result.uname,result.result.psw);        
                }
            }catch(er){
                //ignore
            }
        }
    ); 
</script>

 ./login文件內容

{
    "code": 200,
    "result":{
        "uname":"admin",
        "psw":"test"
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM