562
צפיות
צפיות
27
תשובות
תשובות
בעיה עם הפנייה לעמוד
אני כותב ככה:
top.location.href=url ;
הקוד מגיע לשורה הזאת וזה בדוק.
הבעיה פה היא שהעמוד נטען והפעולות שהוא עושה בצד השרת מתבצעות, אבל לא רואים את העמוד הזה בלקוח. נשארים באותו העמוד שבו התבצעה ההפניה.
למה זה ככה?
27 תשובות
כי אין לך TOP….
נסה כך:
location.href=url ;
זה לא עזר..
אבל תודה על הניסיון.
יש למישהו עוד רעיון?
ככה
location='http://www.name.com'
אני מבין שאתה עובד עם פריימים
אז אתה יכול לשים במקום TOP את הערך parent וזה יגש לעמוד שמכיל את הפריים
לא אני לא עובד עם פריימים.
מה הבעיה כאן?
גם לא..
אז נסה self
קצת מוזר שזה לא עובד :-/
עשיתי ככה:
self.location.href=url ;
ואין שינוי..
אתה יכול לתת לנו קישור ?
או להעלות את הדף ?
עדיין לא הבנתי מה לא עובד
כי כשאני עושה location.href=url (כאשר url זו כתובת).
אז זה עובד כמו שצריך
כן הינה
פתרון לבעיה
אתה משתמש בקישור לפעולה זו והוספת בקישור את void.
כתבתי מטה למשתמש מה פירוש האופרטור הנ"ל.
בשל כך הפניית העמוד לא התבצעה.
שנה זה ל-span
<span style="cursor:Hand;" onclick="RUSure(x)">מחיקה</span>
x = מספר רשומה.
תודה!
שאלה..
יש לי שני עמודים, באחד יש טופס שמושגר לדף השני.
אחרי שעוברים לדף השני אפשר לחזור לדף הראשון ולשנות דברים וזה לא טוב לי..
איך אני עושה שלא יהיה אפשר לחזור ולשנות?
תיקון קטן
הכוונה ב"אפשר לחזור לדף הראשון" היא דרך כפתור Back.
אתה יכול לעשות
בדיקה על history.next אם העמוד הוא עמוד שלך (או שאתה הפנית אליו) ואם כן אז לעשות location.reload לדף ובכך הנתונים ימחקו (אלא אם יש למשתמש רובוט טפסים)
רציתי לבדוק מה מחזיר בידיוק
history.next
אז עשיתי בדיקה.. שמתי שני עמודים אחד מוביל לשני, מהשני חזרתי לראשון וריעננתי כדי לבודק מה התוצאה.
מה שקיבלתי היה undefined …
איך משתמשים בזה? יש דוגמא?
המאפיין נתמך רק בנטסקייפ ודומיו
ובIE זה לא עובד הא?
אם ככה זה לא עוזר לי..
יש רעיון אחר?
אופס
לא שמתי לב
בדקתי שם איך קוראים למאפיין אבל לא שמתי שזה רק לנטסקייפ
אני לא בטוח אבל נסה
var nextL = history.forward().location.href
alert(nextL)
שגיאה
'history.forward().location' is null or not an object
יש דרך אחרת? אולי בלי JS?
אם אני ישים בדף הראשון תג מטה שאומר שהתפוגה של הדף היא עכשיו,
והמשתמש הגיע לעמוד הזה, אז הגיע לעמוד השני, ורוצה לעשות Back.
הוא יאלץ לבקש את העמוד שוב מהשרת, אוכל לבדוק עם ASP את העמוד שממנו הגיע הגולש?
זה יכול להחזיר לי את העמוד השני לא?
שווה בדיקה?
ניסיתי את הרעיון..
וזה לא עבד..
אז מה אתם אומרים? :-/
אין דרך?
אז לאף אחד אין רעיון?
אתה רוצה שאי אפשר יהיה לחזור לטופס
או שאתה רוצה שגם אם יחזרו לטופס, אי אפשר יהיה לשלוח מחדש את המידע?
אם אתה רוצה שאי אפשר יהיה לחזור לטופס, אתה יכול פשוט לפתוח את הטופס עצמו בחלון חדש, וב onSubmit לבצע close לחלון. זה לא ימנע ממי שפתח את הטופס לפתוח טופס חדש, אבל הוא לא יוכל לחזור לטופס עם הפרטים שהוא מילא.
אם אתה רוצה שגם אי אפשר יהיה לשלוח את הטופס מחדש לשרת, תוכל לבצע disabled על הכפתור submit ב onSubmit של הטופס.
אני רוצה..
אני לא רוצה פופ אפים וחלונות חדשים כי זה לא "אסתטי".
בקשר לטופס:
א. אין לו כפתור submit. שלוחצים על לחצן רדיו הטופס משוגר.(יש ארבע לחצי רדיו וצריכים לבחור אחד)
ב. גם אם היה כפתור והייתי עושה disable היה אפשר לחזור דרך Back.
מה שאני רוצה זה שלא יהיה אפשר לחזור דרך Back. אבל בגלל שזה לא ממש אפשרי בלי פופ אפים, אני רוצה לעשות שאם חוזרים דרך Back זה לא יתייחס לטופס שנשלח, אכשהו.
אני יפרט בקשר למטרת הטופס:
זה בעצם טופס של שאלה. יש שאלה ו4 תשובות שלוחצים על תשובה אחת מועברים לדף שבודק את התשובה ואז לדף שמראה אם התשובה נכונה או לא.
הבעיה היא שאם המשתמש רואה שהתשובה שלא שגויה הוא יכול לזחור דרך Back ולשנות! וזה מיותר.
איך אני יכול לעשות בעמוד הבדיקה של התשובה, שכשהמשתמש חוזר עם Back,
בוחר תשובה אחרת ומועבר שוב לעמוד בדיקת התשובה,
עמוד בדיקת התשובה יגלה שהוא חזר (ע"י Session דגל למשל.) ולא יתייחס למידע שהוא שלח מהטופס.
אני מתאר לעצמי שזה קצת מסובך.. מקווה שהבנתם…
תודה רבה לעוזרים.
אתה יכול להשתמש במשתנה
Session, שיחזיק את המספר של התשובה שבחר המשתמש, ולבדוק פשוט בשליחת הטופס אם ה Session הזה מלא או ריק.
אם הוא ריק, אז המשתמש עוד לא בחר תשובה, אבל אם הוא מלא, אז תשובה מסויימת כבר נבחרה, ובמקרה כזה פשוט אל תעדכן אותו.
אם אתה רוצה גם להראות לגולש שלך שב Back הוא לא יוכל לשלוח את הטופס, אתה יכול לבדוק עוד בדף של הטופס אם ה Session הזה מלא, ואם כן, לכתוב ללקוח משהו כמו "השאלה נענתה", או אולי לכתוב את הטופס עם disabled…
תודה..
אבל ענו לי בתפוז ואני משתמש ב location.replace..
תודה