>  기사  >  웹 프론트엔드  >  양식 제출 후 페이지를 새로 고치지 않고 HTML 기반 구현 구현

양식 제출 후 페이지를 새로 고치지 않고 HTML 기반 구현 구현

不言
不言원래의
2018-06-05 14:18:492319검색

Ajax를 사용하여 페이지를 새로 고치지 않고 양식 제출을 구현하는 것은 프로젝트에서 자주 사용됩니다. 얼마 전, 저는 주로 iframe 프레임워크를 기반으로 새로 고침 없이 양식을 제출하는 몇 가지 다른 방법을 스승님께 배웠습니다. 이제 편집자는 여러분의 참고를 위해 스크립트 홈 플랫폼을 정리하고 공유했습니다

페이지를 새로 고치지 않고 양식 제출을 구현하기 위해 ajax를 사용하는 것은 프로젝트에서 자주 사용됩니다. 얼마 전, 저는 주로 iframe 프레임워크를 기반으로 새로 고침 없이 양식을 제출하는 몇 가지 다른 방법을 스승님께 배웠습니다. 이제 정리해서 모두와 공유했습니다.
첫 번째 유형:
(html 페이지)

HTML 코드클립보드에 콘텐츠 복사

<!DOCTYPE HTML>    
<html lang="en-US">    
<head>    
<meta charset="utf-8">    
<title>无刷新提交表单</title>    
<style type="text/css">    
ul{ list-style-type:none;}    
</style>    
</head>    
<body>    
<iframe name="formsubmit" style="display:none;">    
</iframe>    
<!-- 将form表单提交的窗口指向隐藏的ifrmae,并通过ifrmae提交数据。 -->    
<form action="form.php" method="POST" name="formphp" target="formsubmit">    
<ul>    
<li>    
<label for="uname">用户名:</label>    
<input type="text" name="uname" id="uname" />    
</li>    
<li>    
<label for="pwd">密 码:</label>    
<input type="password" name="pwd" id="pwd" />    
</li>    
<li>    
<input type="submit" value="登录" />    
</li>    
</ul>    
</form>    
</body>    
</html>    

(PHP页面:form.php)    

<?php    
//非空验证 
if(empty($_POST[&#39;uname&#39;]) || empty($_POST[&#39;pwd&#39;]))    
{    
echo &#39;<script type="text/javascript">alert("用户名或密码为空!");</script>&#39;;    
exit;    
}    
//验证密码 
if($_POST[&#39;uname&#39;] != &#39;jack&#39; || $_POST[&#39;pwd&#39;] != &#39;123456&#39;)    
{    
echo &#39;<script type="text/javascript">alert("用户名或密码不正确!");</script>&#39;;    
exit;    
} else {    
echo &#39;<script type="text/javascript">alert("登录成功!");</script>&#39;;    
exit;    
}

두 번째 유형:

(html 페이지)

HTML 코드 클립보드에 콘텐츠 복사

<!DOCTYPE HTML>    
<html lang="en-US">    
<head>    
<meta charset="utf-8">    
<title>iframe提交表单</title>    
</head>    
<body>    
<iframe name="myiframe" style="display:none;" onload="iframeLoad(this);"></iframe>    
<form action="form.php" target="myiframe" method="POST">    
用户名:<input type="text" name="username" /><br/>    
密 码:<input type="password" name="userpwd" /><br/>    
<input type="submit" value="登录" />    
</form>    
<script type="text/javascript">    
function iframeLoad(iframe){    
var doc = iframe.contentWindow.document;    
var html = doc.body.innerHTML;    
if(html != &#39;&#39;){    
//将获取到的json数据转为json对象 
var obj = eval("("+html+")");    
//判断返回的状态 
if(obj.status < 1){    
alert(obj.msg);    
}else{    
alert(obj.msg);    
window.location.href="http://www.baidu.com";    
}    
}    
}    
</script>    
</body>    
</html>

(PHP 페이지: form.php)

XML/HTML Code클립보드에 콘텐츠 복사

<?php
//设置时区    
date_default_timezone_set(&#39;PRC&#39;);    
/*    
返回的提交消息    
status:状态    
msg:提示信息    
*/    
$msg = array(&#39;status&#39;=>0,&#39;msg&#39;=>&#39;&#39;);    
//获取提交过来的数据    
$name = $_POST[&#39;username&#39;];    
$pwd = $_POST[&#39;userpwd&#39;];    
//模拟登录验证    
$user = array();    
$user[&#39;name&#39;] = &#39;jack&#39;;    
$user[&#39;pwd&#39;] = &#39;jack2014&#39;;    
if($name != $user[&#39;name&#39;]){    
$msg[&#39;msg&#39;] = &#39;该用户未注册!&#39;;    
$str = json_encode($msg);    
echo $str;    
exit;    
}else if($pwd != $user[&#39;pwd&#39;]){    
$msg[&#39;msg&#39;] = &#39;输入的密码错误!&#39;;    
$str = json_encode($msg);    
echo $str;    
exit;    
}    
$msg[&#39;msg&#39;] = &#39;登录成功!&#39;;    
$msg[&#39;status&#39;] = 1;    
$str = json_encode($msg);    
echo $str;

위 내용은 편집기에서 소개한 내용입니다. HTML을 기반으로, 이것이 모든 사람에게 도움이 되기를 바랍니다!

관련 권장 사항:

HTML 양식 사용 방법에 대한 다양한 예

위 내용은 양식 제출 후 페이지를 새로 고치지 않고 HTML 기반 구현 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.