הרשם | שאלות ותשובות | רשימת חברים | לוח שנה | הודעות מהיום | חיפוש |
|
|
כלים לאשכול | תצורת הצגה |
04-08-11, 11:58 | # 1 |
חבר בקהילה
|
ביצוע פעולות PHP וJS בלחיצת כפתור אחת
למישהו יש מושג איך בלחיצת כפתור אני גורם למחרוזת להישלח לקובץ PHP שמעבד אותה ולאחר מכן להשתמש בפעולת JS שמעבדת את המחרוזת ?
אני אנסה להיות קצת יותר ברור - קיים טופס בו מזין המשתמש מחרוזת. המחרוזת עוברת לקובץ PHP שמעבד אותה ולאחר מכן מציג אותה. ישנו קובץ JS נוסף ש"שואב" את המחרוזת המעובדת מקובץ הPHP ולאחר מכן מציג אותה בדף מבלי רענון. איך אני גורם לכך שבלחיצת כפתור אחת המחרוזת תעבור קודם כל לקובץ הPHP ולאחר מכן ייעשה בה שימוש על ידי פעולת הJS? תודה מראש לעוזרים |
04-08-11, 12:07 | # 2 |
חבר וותיק
|
אוקי תשתמש JQ
הנה קוד קטן שכתבתי: (לא בדקתי) HTML קוד:
<html> <head> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script> <script type="text/javascript"> $(function() { $("#forumid").submit(fucntion() { var field = $("#field").val(); $.post("phpfile.php", { field : field } , function(resultdata) { if(resultdata == "success") { alert('success'); } else { alert('error'); } }); return false; }); }); </script> </head> <body> <form id="forumid" method="post"> <input type="text" id="field" /><br /><br /> <input type="submit" value="submit" name="submit" /> </form> </body> </html> PHP קוד:
|
04-08-11, 12:48 | # 3 |
אין כמו ב127.0.0.1
|
אני חושב שלענות על שאלה כזאת בלי להזכיר אפילו את הביטויים AJAX או xmlHttp זו טעות חמורה.
חיפוש קצר בגוגל נתן לי תשובה יפה: http://webmaster.org.il/articles/what-is-ajax קרא קצת. זה חשוב להבין את זה בתור מתכנת, במיוחד אם תשתמש בזה. |
04-08-11, 12:51 | # 4 |
חבר בקהילה
|
עשיתי שימוש בAJAX כדי להציג את המחרוזת שעובדה בקובץ הPHP בדף ללא ריענון.
רק לשם בדיקה ניסיתי הרצתי את קובץ הPHP על מחרוזת שהגדרתי בתור משתנה (כלומר לא מחרוזת שנקלטה מטופס) וכל התהליך עובד יפה, הבעיה היא לגרום לקובץ הPHP לפעול ולאחר שהוא יסיים את הפעולה לגרום לJS לפעול וכל זה בלחיצת כפתור. נכון לעכשיו לבצע כל פעולה בנפרד זה לא בעיה בכלל רק שהצורך הוא לבצע את שתיהן יחדיו... |
04-08-11, 13:06 | # 5 |
אין כמו ב127.0.0.1
|
לשם כך יש לך את האירוע "onreadystatechange". בJQUERY זהו הפרמטר השלישי בפונקציה jQuery.post, ובPrototype אתה שולח onSuccess לפרמטרים באובייקט Ajax.
האירוע מתרחש כשהבקשה מסתיימת והתקבלה תשובה, ושולח לך קוד בחזרה. jQuery ודומיו יודעים לנתב לך את התשובה ולומר לך אם התרחשה שגיאה ללא צורך בבדיקת קוד העמוד. אם אתה מתעקש לכתוב בJS "נקי", פשוט תבדוק אם קוד העמוד הוא 200, ואם כן תציג את התשובה. עוד מידע: http://developer.apple.com/internet/...mlhttpreq.html |
04-08-11, 13:26 | # 6 | |
חבר בקהילה
|
ציטוט:
התהליך שאני צריך שיתבצע הוא כזה: קליטת מחרוזת --->מעבר לקובץ PHP שמציג את המחרוזת המעובדת --->קליטת המחרוזת על ידי קובץ JS ו |
|
04-08-11, 16:24 | # 7 |
אין כמו ב127.0.0.1
|
כמו שהסברתי, אין שום בעיה לעשות את זה. את המחרוזת תקלוט באמצעות JS פשוט, לדוגמא getElementById, באמצעות Selector, או באמצעות שליחה של this בטופס.
אחרי שיש לך את המחרוזת, תשלח בבקשת xmlHttp אותה באמצעות GET או POST. המידע יחזור לך לJS. למעשה התבצעה פניה לשרת, אבל המשתמש לא ירגיש בה. עם המחרוזת שקיבלת תעשה מה שבראש שלך. אם אתה עוד מסתבך תביא קטע קוד וננסה לעזור. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|