السلام عليكم
كيف الحال جميعاً اسأل الله العلي القدير ان تكونوا جميعا بوافر صحة و خير عافية ان شاء الله .
والله انا نفسي اضيف المشاركة دي من زمان بس كنت كل مره اتردد :con2: واقول ان الامر مش مهم بس الان انا لازم اكتب الموضوع علشان كدا نتكلم علي طول .
دار بيني وبين الاخ زيروا نقاش علي الموقع علي الرابط التالي عن استفسار عن الوصلات بالاجاكس
http://www.swalif.net/softs/swalif44/softs177616/
وهذا هو رابط الموضوع وكنت اتابع لفترة وجيزة الامور تلك ولكن كنت تركتها فترة نظرا للانشغالي بعض الوقت اما الان فرايت انه لابد من المشاركة ...
اولا كود كيفية فتح صفحة باستخدام الاجاكس مباشرة وهذا الكود كتبة الاخ زيروا علي الرابط واليكم مرة ثانية :-
كود PHP:
<script type="text/javascript">
var img = '<img src="http://www.napyfab.com/ajax-indicators/images/progressbar_microsoft.gif">';
var msg = '<br> loading ...';
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var bustcacheparameter=""
function include(url, containerid){
document.getElementById(containerid).innerHTML = img+msg;
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}
function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
</script>
<!-- ////////////////// -->
<a style="text-decoration: none" href="#" onclick="include('http://www.swalif.net/softs','text')">show text</a>
<div align="center" id="text"> </div>
<br>
<a style="text-decoration: none" href="#" onclick="include('http://www.onshodah.com','text2')">show text2</a>
<div align="center" id="text2"> </div>
هذا الكود هو عمل روابط وفتحها مباشرة داخل الصفحة بدون تحميل ويمكنك استعلام من قواعد البيانات إحضارها مباشرة ،،، هذا ليس موضوعنا بس حبيت اضيفه .
في احد الايام وانا اتلصص علي اخينا زيروا كان عامل موضوع متخفي :anger2: مشاركة وانا طبعا كنت اتابع معه كتب كود عجبني وكان روعة :deal: وهو الان معي وهو لاستخدام get & post في العمل واليكم الكود ايضاً
كود PHP:
<script type="text/javascript">
<!--
var msg = '<font face="MS Sans Serif" size="1"> <span lang="en-us"> </span>جاري الطلب ...</span></font>';
var img = '<img src="images/loading.gif">';
var http_request = false;
include = function (url) {
if(!url)return false;
document.getElementById("wino").innerHTML = msg+img;
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open("GET", url, true);
// http_request.setRequestHeader('Content-Type', 'text/html; charset:windows-1256');
http_request.send(null);
//return false
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById("wino").innerHTML = http_request.responseText;
/* document.getElementById("wino").onload = function(){
eval("generate_wysiwyg('textino')")
} */
return false
} else {
alert('There was a problem with the request.');
return false
}
}
}
winoo = function(){
var msg = "";
var name = document.getElementById('name').value;
var email = document.getElementById('email').value;
var subject = document.getElementById('subject').value;
if(name.length < 3)
msg += "لم تدخل الإسم الصحيح \n";
if(email.indexOf("@") == -1 || email.indexOf(".") == -1)
msg += "لم تدخل البريد الصحيح \n";
if(subject.length < 5)
msg += "من فضلك عدد حروف الموضوع قليلة جدا\n";
if(msg == "")
include('?do=send&name='+name+'&email='+email+'&subject='+subject);
else
alert(msg);
}
//-->
</script>
هذا هو كود الاجاكس باقي صفحة html عادية خالص فيها كود
كود HTML:
<table cellspacing="0" cellpadding="0" width="84%">
<tr>
<td align="center">
<span dir="rtl">
<input type="text" name="name" style="color: #008000; border: 1px solid #008000; font-family:Tahoma; font-size:8pt; font-weight:bold; background-image:url('images/back_input.gif')" value="ادخل اسمك" onfocus="this.value='';" size="29" dir="rtl"></span></td>
</tr>
<tr>
<td align="center">
<span dir="rtl">
<input type="text" name="email" style="color: #008000; border: 1px solid #008000; font-family:Tahoma; font-size:8pt; font-weight:bold; background-image:url('images/back_input.gif')" value="ادخل بريدك" onfocus="this.value='';" size="29" dir="rtl"size="20"></span></td>
</tr>
<tr>
<td align="center">
<span dir="rtl">
<textarea rows="9" name="subject" style="color: #008000; border: 1px solid #008000; font-family:Tahoma; font-size:8pt; font-weight:bold; )" value="ادخل اسمك" onfocus="this.value='';" dir="rtl" cols="30"></textarea></span></td>
</tr>
<tr>
<td align="center">
<span dir="rtl">
<input type="button" onclick="winoo();" value="اتصل بنا"></span></td>
</tr>
</table>
</td>
<td align="center" width="22" dir="ltr">
</td>
</tr>
<tr>
<td align="center"> </td>
<td align="center" width="221" colspan="2">
<span lang="en-us"><div id="wino" style="background:#C00;color:#fff"> </div>
</span></td>
</tr>
</table>
</td>
</tr>
</table>
كد الكود تمام ان شاء الله بس فيه حاجة اخيرة :shy: وانا اسف اني طولت عليكم
اخي زيروا كان كاتب الكودين الاثنين ولكن هناك مشكلة لو انت اضفت الكودين الاثنين مع بعض لن يعملوا فيجب اضافة كود واحد فقط يا اما الـ get & post او كود احضار صفحة بواسطة الاجاكس .
المشكلة الثانية في كود get &post الاخير فيه مشكلة مش عارف حلها وهي .
عندنا اضافة radio box & chek box للاسف الكود مش بيجب نتائجهم بمعني لو انا عملتها مع الكود للاسف بيجيب النتيجة سلبية إذا اخترت الشيك بوكس او لم اختاره بيجيبه برده :anger1: ودي حاجة هتجنني ياريت لو حد هيعرف يحل لينا المشكلة دي بحيث ان في حالة اختيار الشيك بوكس او الراديو يظهر بالنتيجة الايجابية اما في حالة عدم الاختيار يعطينا النتيجة السلبية ونتظر ردكم وخصوصا صاحب الكود :funny: ،،،
ناسف للاطالة عليكم ونتظر ردكم ان شاء الله
اخوكم المخلص
عمر شاهين