- HTML,CSS i JavaScript dla każdego. Wydanie VIICena: 64.35 zł
- Nie każ mi myśleć! O życiowym podejściu do funkcjonalności stron...Cena: 34.30 zł
- JavaScript i jQuery. Interaktywne strony WWW dla każdego. Podręcznik...Cena: 64.35 zł
- HTML i CSS. Zaprojektuj i zbuduj witrynę WWW. Podręcznik Front-End D...Cena: 57.85 zł
Sprawdzanie poprawności danych przesłanych z formularza - AJAX
Skrypt przed zapisem danych przesłanych z formularza do pliku sprawdza ich poprawność.
Listing
//index.html #############################################
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax</title>
<link href="ajaxcss.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="ajaxcore.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<div id="formDiv" class="mainDiv">
<div>
<div style="float:left;width:80px;">Imię:</div>
<div><input type="text" value=""
id="tfImie" class="myTextInput"/>
</div>
<div style="float:left;width:80px;">Nazwisko:</div>
<div><input type="text" value=""
id="tfNazwisko" class="myTextInput"/>
</div>
<div style="width:50%;margin:0 auto;text-align:center;">
<input type="button" value="Wyślij" class="myButton" id="btnWyslij"
onclick="wyslijDane();" style="margin-top:10px;" />
</div>
</div>
</body>
</html>
//dane.php #############################################
<?php
if(isSet($_GET["imie"]) && isSet($_GET["nazwisko"])){
$imie = $_GET["imie"];
$nazwisko = $_GET["nazwisko"];
if($imie == "" || $nazwisko == ""){
die("error:Proszę wypełnić wszystkie pola formularza.");
}
$str = "imię = $imie, nazwisko = $nazwisko\n";
if(!$fp = @fopen("./dane.txt", 'a')){
die("error:Wewnętrzny błąd serwera.\nDane nie zostały zapisane.");
}
if (@fwrite($fp, $str) === false){
die("error:Wewnętrzny błąd serwera.\nDane nie zostały zapisane.");
}
echo "Dziękujemy za podanie danych.";
@fclose($fp);
}
else{
echo "error:Nieprawidłowe odwołanie.\nDane nie zostały zapisane.";
}
?>
//ajaxcss.css #############################################
.mainDiv
{
color: #333333;
position: relative;
background-color: #EFEFEF;
border: 1px solid #000000;
margin: 10px 10px 10px 10px;
padding: 14px 14px 14px 14px;
width: 350px;
visibility: visible;
}
.dataDiv
{
color: #333333;
position: relative;
background-color: #ffffff;
border: 1px solid #000000;
margin: 10px 10px 10px 10px;
padding: 14px 14px 14px 14px;
width: 420px;
visibility: visible;
}
.myButton
{
font-family:helvetica,sans-serif;
font-size:84%;
font-weight:bold;
border:1px solid;
border-top-color:#696;
border-left-color:#696;
border-right-color:#363;
border-bottom-color:#363;
width:120px;
margin:5px;
}
.myTextInput
{
border:1px solid;
background-color: #F8F8F8;
border-top-color:#696;
border-left-color:#696;
border-right-color:#363;
border-bottom-color:#363;
width:70%;
}
//ajaxcore.js #############################################
function getXMLHttpRequestObject()
{
try{
return new XMLHttpRequest();
}
catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
return false;
}
}
}
function startGETRequest(url, onComplete, onEnd)
{
var XMLHttpRequestObject = getXMLHttpRequestObject();
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("GET", url);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4){
if(XMLHttpRequestObject.status == 200){
var responseXML = XMLHttpRequestObject.responseXML;
var responseText = XMLHttpRequestObject.responseText;
onComplete(responseText, responseXML);
}
delete XMLHttpRequestObject;
onEnd();
}
}
XMLHttpRequestObject.send(null);
}
}
function startPOSTRequest(url, params, onComplete, onEnd)
{
var XMLHttpRequestObject = getXMLHttpRequestObject();
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("POST", url);
XMLHttpRequestObject.setRequestHeader(
'Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4){
if(XMLHttpRequestObject.status == 200){
var responseXML = XMLHttpRequestObject.responseXML;
var responseText = XMLHttpRequestObject.responseText;
onComplete(responseText, responseXML);
}
delete XMLHttpRequestObject;
onEnd();
}
}
XMLHttpRequestObject.send(params);
}
}
//ajax.js #############################################
disableButton = false;
function wyslijDane()
{
var tfImieText = document.getElementById("tfImie").value;
var tfNazwiskoText = document.getElementById("tfNazwisko").value;
var btnWyslij = document.getElementById("btnWyslij");
url = "dane.php?imie=" + tfImieText;
url += "&nazwisko=" + tfNazwiskoText;
url = encodeURI(url);
btnWyslij.disabled = true;
startGETRequest(url, onComplete, onEnd);
}
function onComplete(text, xml)
{
arr = text.split(":");
if(arr[0] == "error"){
if(arr.length == 2){
alert(arr[1]);
}
else{
alert("Wystąpił nieznany błąd serwera.");
}
disableButton = false;
}
else{
alert("Dane zostały zapisane na serwerze.");
disableButton = true;
}
}
function onEnd(text, xml)
{
if(!disableButton){
var btnWyslij = document.getElementById("btnWyslij");
btnWyslij.disabled = false;
}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax</title>
<link href="ajaxcss.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="ajaxcore.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<div id="formDiv" class="mainDiv">
<div>
<div style="float:left;width:80px;">Imię:</div>
<div><input type="text" value=""
id="tfImie" class="myTextInput"/>
</div>
<div style="float:left;width:80px;">Nazwisko:</div>
<div><input type="text" value=""
id="tfNazwisko" class="myTextInput"/>
</div>
<div style="width:50%;margin:0 auto;text-align:center;">
<input type="button" value="Wyślij" class="myButton" id="btnWyslij"
onclick="wyslijDane();" style="margin-top:10px;" />
</div>
</div>
</body>
</html>
//dane.php #############################################
<?php
if(isSet($_GET["imie"]) && isSet($_GET["nazwisko"])){
$imie = $_GET["imie"];
$nazwisko = $_GET["nazwisko"];
if($imie == "" || $nazwisko == ""){
die("error:Proszę wypełnić wszystkie pola formularza.");
}
$str = "imię = $imie, nazwisko = $nazwisko\n";
if(!$fp = @fopen("./dane.txt", 'a')){
die("error:Wewnętrzny błąd serwera.\nDane nie zostały zapisane.");
}
if (@fwrite($fp, $str) === false){
die("error:Wewnętrzny błąd serwera.\nDane nie zostały zapisane.");
}
echo "Dziękujemy za podanie danych.";
@fclose($fp);
}
else{
echo "error:Nieprawidłowe odwołanie.\nDane nie zostały zapisane.";
}
?>
//ajaxcss.css #############################################
.mainDiv
{
color: #333333;
position: relative;
background-color: #EFEFEF;
border: 1px solid #000000;
margin: 10px 10px 10px 10px;
padding: 14px 14px 14px 14px;
width: 350px;
visibility: visible;
}
.dataDiv
{
color: #333333;
position: relative;
background-color: #ffffff;
border: 1px solid #000000;
margin: 10px 10px 10px 10px;
padding: 14px 14px 14px 14px;
width: 420px;
visibility: visible;
}
.myButton
{
font-family:helvetica,sans-serif;
font-size:84%;
font-weight:bold;
border:1px solid;
border-top-color:#696;
border-left-color:#696;
border-right-color:#363;
border-bottom-color:#363;
width:120px;
margin:5px;
}
.myTextInput
{
border:1px solid;
background-color: #F8F8F8;
border-top-color:#696;
border-left-color:#696;
border-right-color:#363;
border-bottom-color:#363;
width:70%;
}
//ajaxcore.js #############################################
function getXMLHttpRequestObject()
{
try{
return new XMLHttpRequest();
}
catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
return false;
}
}
}
function startGETRequest(url, onComplete, onEnd)
{
var XMLHttpRequestObject = getXMLHttpRequestObject();
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("GET", url);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4){
if(XMLHttpRequestObject.status == 200){
var responseXML = XMLHttpRequestObject.responseXML;
var responseText = XMLHttpRequestObject.responseText;
onComplete(responseText, responseXML);
}
delete XMLHttpRequestObject;
onEnd();
}
}
XMLHttpRequestObject.send(null);
}
}
function startPOSTRequest(url, params, onComplete, onEnd)
{
var XMLHttpRequestObject = getXMLHttpRequestObject();
if(XMLHttpRequestObject){
XMLHttpRequestObject.open("POST", url);
XMLHttpRequestObject.setRequestHeader(
'Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4){
if(XMLHttpRequestObject.status == 200){
var responseXML = XMLHttpRequestObject.responseXML;
var responseText = XMLHttpRequestObject.responseText;
onComplete(responseText, responseXML);
}
delete XMLHttpRequestObject;
onEnd();
}
}
XMLHttpRequestObject.send(params);
}
}
//ajax.js #############################################
disableButton = false;
function wyslijDane()
{
var tfImieText = document.getElementById("tfImie").value;
var tfNazwiskoText = document.getElementById("tfNazwisko").value;
var btnWyslij = document.getElementById("btnWyslij");
url = "dane.php?imie=" + tfImieText;
url += "&nazwisko=" + tfNazwiskoText;
url = encodeURI(url);
btnWyslij.disabled = true;
startGETRequest(url, onComplete, onEnd);
}
function onComplete(text, xml)
{
arr = text.split(":");
if(arr[0] == "error"){
if(arr.length == 2){
alert(arr[1]);
}
else{
alert("Wystąpił nieznany błąd serwera.");
}
disableButton = false;
}
else{
alert("Dane zostały zapisane na serwerze.");
disableButton = true;
}
}
function onEnd(text, xml)
{
if(!disableButton){
var btnWyslij = document.getElementById("btnWyslij");
btnWyslij.disabled = false;
}
}
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno