הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הצגת הודעת שאלה בשילוב ASP קלאסי (https://hosts.co.il/forums/showthread.php?t=97528)

yoyob 28-05-12 18:19

הצגת הודעת שאלה בשילוב ASP קלאסי
 
אני מנסה לעשות הודעה אשר תצריך אישור או ביטול,
במקרה של ביטול המשתמש יועבר לחלון דף מסויים.
קוד:

<script type="text/javascript">
Answer = window.confirm("בכדי להמשיך לחץ אישור")
if (Answer = true) {

} Else {
    window.location.href = "somePage.asp"
}
</script>

בהמשך יש את הקוד ב-ASP והוא מתבצע במקרה במקרה של "אישור".
אולם הקוד מתבצע גם כאשר נעשה "ביטול" בהודעה, למרות שהוא מועבר לחלון שציינתי.
ניסיתי להשתמש גם בפקודה
<%Response.Redirect("somePage.asp")%>
במקום
window.location.href = "somePage.asp"
אך כמובן הוא מועבר ללא הצגת השאלה בכלל.
כיצד צריך לעשות זאת נכון?

המון תודה למשיבים...

Haimz 28-05-12 22:22

HTML קוד:

<script>
function next()
{
  var conf = confirm('TEXT');
  if(conf)
  {
    top.window.location = 'http://google.com';
  }
}
</script>
<input onclick="next()" type="button" value="click me" />

אם לא פועל, תנסה להוריד את הtop. לפני הwindow.location

IgalSt 28-05-12 22:46

ציטוט:

נכתב במקור על ידי yoyob (פרסם 845371)
אני מנסה לעשות הודעה אשר תצריך אישור או ביטול,
במקרה של ביטול המשתמש יועבר לחלון דף מסויים.
קוד:

<script type="text/javascript">
Answer = window.confirm("בכדי להמשיך לחץ אישור")
if (Answer = true) {

} Else {
    window.location.href = "somePage.asp"
}
</script>

בהמשך יש את הקוד ב-ASP והוא מתבצע במקרה במקרה של "אישור".
אולם הקוד מתבצע גם כאשר נעשה "ביטול" בהודעה, למרות שהוא מועבר לחלון שציינתי.
ניסיתי להשתמש גם בפקודה
<%Response.Redirect("somePage.asp")%>
במקום
window.location.href = "somePage.asp"
אך כמובן הוא מועבר ללא הצגת השאלה בכלל.
כיצד צריך לעשות זאת נכון?

המון תודה למשיבים...

אתה מערבב פה צד שרת (ASP) וצד לקוח (JS).
לפני שהעמוד עולה אצל הגולש שלך, כל קוד ה-ASP שנמצא בו מופעל. כלומר, ASP לא יודע בכלל איזה תנאי JS יש.
באפשרותך לשלוח בקשת AJAX לשרת שיבצע את מה שאתה רוצה שיקרה ב-ASP.
לחילופין, תוכל להעביר את הגולש לעמוד ASP אחר גם במקרה שבו הוא מאשר, ובעמוד הזה ירוץ הקוד שאתה צריך.

mmh 03-06-12 03:05

בדבר אחד התבלבלת...
ברוב שפות התכנות החדשות בשונה מASP אופרטור ההשוואה הוא == ולא = כמו אופרטור ההשמה.
ולכן:
if (Answer = true)
זה השמה ולא השוואה,
בנוסף מיכיוון שהערך הוא בוליאני תוכל לעשות ישירות ככה:
if (Answer)
בכל אופן אם אתה לא מתכוון להשתמש בבלוק הIF במקרה והערך הוא TRUE אלא רק בבלוק הELSE במקרה שהוא FALSE אז פשוט תשתמש באופרטור !=
בהצלחה!

נ.ב. וכן גם ; בסוף כל שורה היא חיונית לריצת הקוד בשפות תרבותיות ;)

bimbim 03-06-12 17:31

אני אקצר:
PHP קוד:

<script type="text/javascript">
var 
Answer window.confirm("בכדי להמשיך לחץ אישור");
if (!
Answer
    
window.location "somePage.asp";
</script> 



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

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