ام الطريقة التي توصلت لها لكي لا اكرر الكود مرارً وهي استدعاء السكربت بالطريقة التالية
ملف السكريبت script.js
فهذا الفنكش لتحديد نوع المتصفح وانشاء الصفحة المخفية
كود:
function creaAjax(){
var objetoAjax=false;
try {
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}
if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}
function FAjax (url,capa,valores,metodo)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById(capa);
وهذا الفنكش عندما نريد استخدام خاصية POST
كود:
if(metodo.toUpperCase()=='POST'){
document.write="HnHn";
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
وهذا الفنكش عندما نريد استخدام خاصية GET
كود:
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
ليصبح الكود في ملف السكريبت بالشكل التالي
كود:
function creaAjax(){
var objetoAjax=false;
try {
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}
if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}
function FAjax (url,capa,valores,metodo)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById(capa);
if(metodo.toUpperCase()=='POST'){
document.write="HnHn";
ajax.open ('POST', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;
}
if (metodo.toUpperCase()=='GET'){
ajax.open ('GET', url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200){
document.getElementById(capa).innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{
capaContenedora.innerHTML = "La direccion existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
}
ونستدعي هذا الملف في صفحة HTML بالشكل التالي
كود:
<script type="text/javascript" src="script.js"></script>
وفي خاصية Form سنضع عملية الارسال بالشكل التالي
كود:
<form method="post" onsubmit="HnHn('sch_run.php'
'HnHn_sch1='+document.getElementById('HnHn_sch1').value+'&HnHn_sch2='+document.getElementById('HnHn_sch2').value
+'&HnHn_sch3='+document.getElementById('HnHn_sch3').value,'POST'); return false" action="#">
ليصبح الكود في النهاية بهذا الشكل
كود:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html">
<script type="text/javascript" src="script.js"></script>
<head>
<title>HnHn</title>
</head>
<body>
<form method="post" onsubmit="HnHn('sch_run.php'
'HnHn_sch1='+document.getElementById('HnHn_sch1').value+'&HnHn_sch2='+document.getElementById('HnHn_sch2').value
+'&HnHn_sch3='+document.getElementById('HnHn_sch3').value,'POST'); return false" action="#">
<address>
<INPUT type="text" name=HnHn_sch1 size="30" maxlength="50" ></address>
<address>
<INPUT type="text" name=HnHn_sch2 size="30" maxlength="50" ></address>
<address>
<INPUT type="text" name=HnHn_sch3 size="30" maxlength="50" ></address>
<p>
<input type="button" name="Button" value="POST"">
</form
هذا ما مله علي ضمير كرد جميل لهذا المنتدى الذي افادني في التوصل للمعلومة وعلى رأس هذا المنتدى اعضاءه الكرام وبالاخص من ساهم في توصلي للحل الاخ فراس
وشكرا لكم
اخوكم / هاني الشايب