Maison  >  Article  >  interface Web  >  Implémentation d'une implémentation basée sur HTML sans actualiser la page après la soumission du formulaire

Implémentation d'une implémentation basée sur HTML sans actualiser la page après la soumission du formulaire

高洛峰
高洛峰original
2017-03-30 17:15:112448parcourir

L'utilisation d'ajax pour implémenter la soumission de formulaire sans actualiser la page est souvent utilisée dans les projets. Il y a quelques temps, j'ai appris auprès de mon maître plusieurs autres méthodes de soumission de formulaires sans rafraîchissement, basées principalement sur le framework iframe. L'éditeur a désormais organisé et partagé la plateforme d'accueil des scripts pour votre référence. L'utilisation d'ajax pour implémenter la soumission de formulaire sans actualiser la page est souvent utilisée dans les projets. Il y a quelques temps, j'ai appris auprès de mon maître plusieurs autres méthodes de soumission de formulaires sans rafraîchissement, basées principalement sur le framework iframe. Maintenant, je l’ai réglé et je l’ai partagé avec tout le monde.
Le premier type :
(page 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;    
}

Le deuxième type :
(page 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>

(page PHP : form.php)

<?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;

Le contenu ci-dessus est le contenu pertinent que l'éditeur vous présente sur la base du HTML pour éviter l'actualisation de la page après la soumission du formulaire. J'espère qu'il sera utile à tout le monde !

Pour plus d'articles sur l'implémentation HTML de la soumission de formulaires sans actualiser la page, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn