שלח תשובה

זירת השאלות

186
צפיות
22
תשובות

שאלה של JAVA SCRIPT מול בסיסי……

,‏ 10 במאי, 2004

שאלה של JAVA SCRIPT מול בסיסי נתונים או דרך אחרת.
אני מצרף תמונה כדי שיהיה יותר קל להבין.

יש לי קטגוריה ותת קטגוריה.
אני בוחר קטגוריה בחלק הימני , מה שאני רוצה לעשות זה
שכאשר אני לוחץ על טיבת בחירה (תת קטגוריה) אוטומטית תתמלא בתת קטגוריה מתאימה של הקטגוריה.

מישהו יודע איך ניתן לעשות את זה ?
תודה מראש והנה התמונה.

תגיות:

22 תשובות

  1. ניר טייב הגיב:

    אפשר לעשות שה-SELECT
    יתמלא אוטומטית ע"י מערך ופרמטרים של פונקציה

    <select onchange="changeSelObj(‘"+this.value+"’)">
    <option value="Websites; style; more…"> אינטרנט </option>
    </select>
    <select id="forChange">
    </select>

    <script type="text/javascript">
    function changeSelObj(catOption){
    var selObj = document.getElementById("forChange"), catOption = catOption.split(";"), optArr = new Array(catOption.length);
    for (var i=0; i<catOption.length; i++)}
    optArr[i] = document.createElement("OPTION")
    optArr[i].value = catOption[i]
    optArr[i].innerHTML = catOption[i]
    selObj.appendChild(optArr[i])
    }
    }
    </script>

    משהו כמו זה P-:

  2. אוריקס הגיב:

    השיטה שלך טובה לכמות קטנה של נתונים
    בלבד.
    יש עוד 2 שיטות שהן:
    1. בסימון תיבה שליחת בקשה ע"י XMLHTTP
    2. עבודה עם XML.

    אם יש לך כמות קטנה תעבוד עם השיטה של ניר.

  3. ניר טייב הגיב:

    זאת הייתה הכוונה שלי וכמובן שאתה
    צודק

  4. mrmistory הגיב:

    עוד……..
    בשורה הזאת

    for (var i=0; i<catOption.length; i++)}

    זה לא צריך להיות

    for (var i=0; i<catOption.length; i++)}

    ככה ? אני עוד לא בדקתי , אני מנסה להבין מה עשית פה.

    יש מצב שתסביר לי, קצת ומה זה "כמות קטנה של נתונים" ?
    תודה.

  5. mrmistory הגיב:

    תיקון ועוד…

    for (var i=0; i<catOption.length; i++){

    זה ממלא לי את התת קטגוריה ב-IDCATEGORY למרות שאני צריך למלא את התת קטגוריה בנתונים אחרים.
    לדוגמא אם בחרתי "מחשבים ואינטרנט"
    אז המילוי צריך להיות
    * משחקים
    * תוכנות
    * הורדות
    לדוגמא אם בחרתי "מכירות פומביות"
    * פ-1000
    * netaction
    * wallashope

    וככה תת קטגוריה צריכה להתמלא.
    זה לא ממש ממלא.

  6. linked listboxes
    (תיבות רשימה מקושרות)

    כדי לעשות את זה יש לך כמה אפשרויות:

    1. להוציא את כל הנתונים ל-JS צד לקוח ולשחק איתם כדי למלא את התיבות, כמוסבר פה: http://www.atgconsulting.com/doublelist.asp

    2. להשתמש ב-XML כדי לעשות בערך אותו הדבר, אבל בצורה הרבה יותר אלגנטית. http://www.asptoday.com/content.asp?id=1397 (האתר בתשלום, לא מכירה מאמר דומה בחינם)

    3. לבנות את תיבות הבחירה באמצעות XMLHTTP, כשכל בחירה שולחת בקשה חדשה לשרת. דוגמא מאת נחום גינת: http://www.ngs-corp.com/iao/Combo_With_XMLHTTP.htm

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

    אם תחפש linked listboxes בגוגל, תמצא מן הסתם עוד הרבה דוגמאות ומאמרים.

    [אוריקס – פקק ]

  7. mrmistory הגיב:

    יש הסבר בעברית איפשהו….
    ו2 לינקים אחרונים לא עבדו.

  8. mrmistory הגיב:

    בעיה בשליחת דואר אלקטרוני…..
    בניתי (מצאתי ברשת) פונקציה ששיניתי אותה לסברוטינה שעובדת כמו פונקציה .
    היא מקבלת נתונים כמו נושא, תוכן הודעה מאיזה מייל ועוד..
    העניין הוא שאני מריץ את זה במחשב שלי, האובייקט מותקן במערכת הפעלה אני רואה STARTED.

    אני מריץ אותה ואין שגיאה.
    מישהוא יודע מה הבעיה שם בדיוק?
    הנה הקוד.

    גם אם אני מוריד On Error Resume Next אין שגיאה.
    זה כאילו נשלח אבל לא שולח.


    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    <%
    public sub SendEmail(strFrom, strTo, strSubject, strBody)
    On Error Resume Next
    Dim objMail ‘ CDONTS.NewMail אובייקט

    ‘ CDONTS.NewMail יצירת אובייקט
    Set objMail = Server.CreateObject("CDONTS.NewMail")
    If err.number <> 0 Then SendEmail = False

    ‘ (To, From, Subject, Body) אלה הפרמטרים לשליחת האימייל
    objMail.From = strFrom
    objMail.To = strTo
    objMail.Subject = strSubject
    objMail.BodyFormat = 0 ‘ HTML מציין כי יש בגוף ההודעה
    objMail.MailFormat = 0 ‘ MIME מציין כי המייל ישלח בפורמט
    objMail.Body = strBody

    ‘ שליחת האימייל
    objMail.Send
    end sub
    %>
    </HEAD>
    <BODY>
    <%
    Dim mailFrom ‘ מאיזה כתובת נשלח המייל
    Dim mailTo ‘ לאיזה כתובת לשלוח מייל
    Dim mailSubject ‘ כותרת המייל שנשלח
    Dim mailBody ‘ תוכן המייל שנשלח
    mailFrom="jobavoda@hotmail.com"
    mailTo="coolalbert@walla.co.il"
    mailSubject="Its from Albert"
    mailBody="Hi , i wont to send me my mail"

    call SendEmail(mailFrom,mailTo,mailSubject,mailBody)
    %>
    </BODY>
    </HTML>

  9. ניר טייב הגיב:

    בדרך כלל הילדה מפוקקת אותו (בתפוז)
    למרות שזה יותר את "חובב טניס", "דגון" ו"ילד כחול"

  10. אוריקס הגיב:

    נסה את זה:


    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    <%
    public function SendEmail(strFrom, strTo, strSubject, strBody)
    On Error Resume Next
    Dim objMail ‘ CDONTS.NewMail אובייקט

    ‘ CDONTS.NewMail יצירת אובייקט
    Set objMail = Server.CreateObject("CDONTS.NewMail")
    If err.number <> 0 Then
    SendEmail = False
    exit function
    else
    ‘ (To, From, Subject, Body) אלה הפרמטרים לשליחת האימייל
    objMail.From = strFrom
    objMail.To = strTo
    objMail.Subject = strSubject
    objMail.BodyFormat = 0 ‘ HTML מציין כי יש בגוף ההודעה
    objMail.MailFormat = 0 ‘ MIME מציין כי המייל ישלח בפורמט
    objMail.Body = strBody

    ‘ שליחת האימייל
    objMail.Send
    SendEmail = true
    end if
    end function
    %>
    </HEAD>
    <BODY>
    <%
    Dim mailFrom ‘ מאיזה כתובת נשלח המייל
    Dim mailTo ‘ לאיזה כתובת לשלוח מייל
    Dim mailSubject ‘ כותרת המייל שנשלח
    Dim mailBody ‘ תוכן המייל שנשלח
    mailFrom="jobavoda@hotmail.com"
    mailTo="coolalbert@walla.co.il"
    mailSubject="Its from Albert"
    mailBody="Hi , i wont to send me my mail"

    if SendEmail(mailFrom,mailTo,mailSubject,mailBody) = true then
    response.write("Done")
    end if
    %>
    </BODY>
    </HTML>

  11. mrmistory הגיב:

    ניסיתי, זה לא שולח ולא נותן שגיאה.

  12. mrmistory הגיב:

    פרטים………
    פה
    C:InetpubmailrootBadmail

    וגם
    C:InetpubmailrootDrop

    הכל ריק, מה זה יכול להיות ?

  13. mrmistory הגיב:

    שאלה על UBound(RsArryCategory,2)…
    איך ניתן לבדוק האם זה סוף כבר של RsArryCategory ??
    RsArryCategory = מערך שקיבל כמות רשומות בשיטת GetRows
    כמו שניתן לבדוק

    rs.eof=true

    ניסיתי

    UBound(RsArryCategory,2)=NULL

    ולא יוצאה.

  14. אוריקס הגיב:

    נסה את זה:


    for i=1 to UBound(RsArryCategory,2)
    if i=UBound(RsArryCategory,2) then….
    end if
    next

  15. mrmistory הגיב:

    נחמד, אבל אני צריך בלי i ניתן לעשות
    זאת?

    יש לך במקרה תשובה לשאלה על שליחת מייל ?

    תודה.

  16. אין דבר כזה "הסוף שלו"
    זה לא רקורדסט שאתה מקדם כל הזמן,
    זה מערך שאתה פשוט ניגש לתאים שלו.
    הוא אף פעם לא "יגיע לסוף".

  17. אוריקס הגיב:

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


    for i=lbound(arr,2) to ubound(arr,2)
    for j=lbound(arr,1) to ubound(arr,1)
    response.write(arr(j,i)&"<br />")
    next
    next

שלח תשובה