Heim  >  Artikel  >  Web-Frontend  >  Implementierung einer HTML-basierten Implementierung ohne Aktualisierung der Seite nach der Formularübermittlung

Implementierung einer HTML-basierten Implementierung ohne Aktualisierung der Seite nach der Formularübermittlung

高洛峰
高洛峰Original
2017-03-30 17:15:112431Durchsuche

Die Verwendung von Ajax zur Implementierung der Formularübermittlung ohne Aktualisierung der Seite wird häufig in Projekten verwendet. Vor einiger Zeit habe ich von meinem Master mehrere andere Methoden zum Senden von Formularen ohne Aktualisierung gelernt, die hauptsächlich auf dem Iframe-Framework basieren. Jetzt hat der Herausgeber die Skript-Home-Plattform als Referenz organisiert und freigegeben. In Projekten wird häufig die Verwendung von Ajax zum Implementieren der Formularübermittlung ohne Aktualisierung der Seite verwendet. Vor einiger Zeit habe ich von meinem Master mehrere andere Methoden zum Senden von Formularen ohne Aktualisierung gelernt, die hauptsächlich auf dem Iframe-Framework basieren. Jetzt habe ich es geklärt und mit allen geteilt.
Der erste Typ:
(HTML-Seite)

<!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;    
}

Der zweite Typ:
(HTML-Seite)

<!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-Seite: 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;

Bei dem oben genannten Inhalt handelt es sich um den relevanten Inhalt, den der Redakteur Ihnen basierend auf HTML vorstellt, um nach dem Absenden des Formulars keine Seitenaktualisierung zu erreichen. Ich hoffe, dass er für alle hilfreich ist!

Weitere verwandte Artikel zur HTML-basierten Implementierung der Formularübermittlung ohne Aktualisierung der Seite finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn