הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-08-11, 11:58   # 1
Vol
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 111

Vol לא מחובר  

ביצוע פעולות PHP וJS בלחיצת כפתור אחת

למישהו יש מושג איך בלחיצת כפתור אני גורם למחרוזת להישלח לקובץ PHP שמעבד אותה ולאחר מכן להשתמש בפעולת JS שמעבדת את המחרוזת ?

אני אנסה להיות קצת יותר ברור -
קיים טופס בו מזין המשתמש מחרוזת. המחרוזת עוברת לקובץ PHP שמעבד אותה ולאחר מכן מציג אותה. ישנו קובץ JS נוסף ש"שואב" את המחרוזת המעובדת מקובץ הPHP ולאחר מכן מציג אותה בדף מבלי רענון.

איך אני גורם לכך שבלחיצת כפתור אחת המחרוזת תעבור קודם כל לקובץ הPHP ולאחר מכן ייעשה בה שימוש על ידי פעולת הJS?

תודה מראש לעוזרים
  Reply With Quote
ישן 04-08-11, 12:07   # 2
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אוקי תשתמש 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>
וזה הקובץ phpfile.php
PHP קוד:
<?php

    $field 
$_POST['field'];
    
    if(!empty ( 
$field ) )
    {
        echo 
'success';
    }
    else
    {
        
// errors and bla bla
    
}

?>
כמו שאמרתי אני לא בדקתי, ואני מקווה שהבנתי אותך
  Reply With Quote
ישן 04-08-11, 12:48   # 3
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

אני חושב שלענות על שאלה כזאת בלי להזכיר אפילו את הביטויים AJAX או xmlHttp זו טעות חמורה.
חיפוש קצר בגוגל נתן לי תשובה יפה:
http://webmaster.org.il/articles/what-is-ajax
קרא קצת. זה חשוב להבין את זה בתור מתכנת, במיוחד אם תשתמש בזה.
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 04-08-11, 12:51   # 4
Vol
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 111

Vol לא מחובר  

עשיתי שימוש בAJAX כדי להציג את המחרוזת שעובדה בקובץ הPHP בדף ללא ריענון.
רק לשם בדיקה ניסיתי הרצתי את קובץ הPHP על מחרוזת שהגדרתי בתור משתנה (כלומר לא מחרוזת שנקלטה מטופס) וכל התהליך עובד יפה, הבעיה היא לגרום לקובץ הPHP לפעול ולאחר שהוא יסיים את הפעולה לגרום לJS לפעול וכל זה בלחיצת כפתור.
נכון לעכשיו לבצע כל פעולה בנפרד זה לא בעיה בכלל רק שהצורך הוא לבצע את שתיהן יחדיו...
  Reply With Quote
ישן 04-08-11, 13:06   # 5
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

לשם כך יש לך את האירוע "onreadystatechange". בJQUERY זהו הפרמטר השלישי בפונקציה jQuery.post, ובPrototype אתה שולח onSuccess לפרמטרים באובייקט Ajax.

האירוע מתרחש כשהבקשה מסתיימת והתקבלה תשובה, ושולח לך קוד בחזרה. jQuery ודומיו יודעים לנתב לך את התשובה ולומר לך אם התרחשה שגיאה ללא צורך בבדיקת קוד העמוד. אם אתה מתעקש לכתוב בJS "נקי", פשוט תבדוק אם קוד העמוד הוא 200, ואם כן תציג את התשובה.

עוד מידע: http://developer.apple.com/internet/...mlhttpreq.html
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 04-08-11, 13:26   # 6
Vol
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2008
הודעות: 111

Vol לא מחובר  

ציטוט:
נכתב במקור על ידי BlueNosE צפה בהודעה
לשם כך יש לך את האירוע "onreadystatechange". בJQUERY זהו הפרמטר השלישי בפונקציה jQuery.post, ובPrototype אתה שולח onSuccess לפרמטרים באובייקט Ajax.

האירוע מתרחש כשהבקשה מסתיימת והתקבלה תשובה, ושולח לך קוד בחזרה. jQuery ודומיו יודעים לנתב לך את התשובה ולומר לך אם התרחשה שגיאה ללא צורך בבדיקת קוד העמוד. אם אתה מתעקש לכתוב בJS "נקי", פשוט תבדוק אם קוד העמוד הוא 200, ואם כן תציג את התשובה.

עוד מידע: http://developer.apple.com/internet/...mlhttpreq.html
זה בדיוק מה שעשיתי כשדיברתי על הבדיקה בתגובה הקודמת - רק שבמקרה של הבדיקה המחרוזת כבר הייתה קיימת, אבל עכשיו היא צריכה להיקלט מתוך הטופס.
התהליך שאני צריך שיתבצע הוא כזה:
קליטת מחרוזת --->מעבר לקובץ PHP שמציג את המחרוזת המעובדת --->קליטת המחרוזת על ידי קובץ JS
ו
  Reply With Quote
ישן 04-08-11, 16:24   # 7
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

כמו שהסברתי, אין שום בעיה לעשות את זה. את המחרוזת תקלוט באמצעות JS פשוט, לדוגמא getElementById, באמצעות Selector, או באמצעות שליחה של this בטופס.
אחרי שיש לך את המחרוזת, תשלח בבקשת xmlHttp אותה באמצעות GET או POST. המידע יחזור לך לJS. למעשה התבצעה פניה לשרת, אבל המשתמש לא ירגיש בה.
עם המחרוזת שקיבלת תעשה מה שבראש שלך.

אם אתה עוד מסתבך תביא קטע קוד וננסה לעזור.
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 01:16.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ