שלח תשובה

זירת השאלות

210
צפיות
21
תשובות

שאלה

,‏ 16 בפברואר, 2004

שלום,

יש לי טבלה אשר יוצאת מבסיס הנתונים, לכל שורה בטבלה יש CheckBox לסימון השורה לפעולות שונות. כרגע אני משתמש ב <input type=select> שבו יש כמה אפשרויות שונות כגון מחיקה. האם יש דרך כלשהיא לעשות זאת עם כפתורים במקום select? בגלל שכל הכפתורים צריכים להיות באותו form בגלל ה checkboxs אני מתקשה בעשיית הדבר.

תודה מראש,
עומר.

תגיות:

21 תשובות

  1. מה זה <input type=select> ?
    אתה לא כ"כ מובן – לא יזיק איזה תמונת מסך או דוגמאת קוד של מה שאתה מנסה לעשות…

  2. omer הגיב:

    הנה תמונת מסך
    מקווה שזה יבהיר את מה שניסיתי להסביר

  3. עכשיו הבנתי
    אבל אני צריך לדעת באיזו שפה אתה משתמש…

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

    עומר…
    יש דבר אחד שטעית בו בהודעה שלך אין דבר כזה type=SELECT ב-input יש תגית סלקט שיועדה לזה באופן מיוחד

    <select>
    <option selected>ניר המלך</option>
    <option> שלום </option>
    <option value="המלך הגיע">the king came</option>
    </select>

  5. omer הגיב:

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

  6. מזמן לא התעסקתי עם asp אבל..
    הינה משהו, כל כפתור ילך לשגרה שתכין(sub) ושם יהיו שתי פעולות:

    1)בדיקת הcheckboxs המסומנים
    2)הפעולה של מחיקה, הסתרה וכדומה זה לא כל כך מסובך..

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

    אפשר לעשות…
    דבר כזה בצד הלקוח . לשנות את כתובת השליחה של ההודעה (action)

    <select onChange="formName.action=’folder/’+this.value + ‘.asp’">
    <option value="delete">מחיקה</option>
    <option value="upgrade"> שינוי </option>
    </select>

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

    ואפשר גם
    על אותו עיקרון לשלוח מס’ ב-queryString ולעשות בעמוד נפרד select case
    שבודק את שורת ה-queryString ולכל מס’ לעשות פעולה אחרת…

  9. omer הגיב:

    לא הבנתם
    א. התכוונתי לעשות את זה ב HTML
    ב. אם התסכלתם בתמונה רואים שכבר הצלחתי לעשות את זה עם select אני רוצה לעשות את אותו הדבר עם כפתורים ובגלל שיש checkboxs אז זה לא מצליח כי כולם צריכים להיות באותו הפורם

    תודה.

  10. omer הגיב:

    זה
    כדי שיוכלו לבחור יותר מכתבה אחת בו זמנית כדי לעשות על כמה כתבות ביחד פעולה מסויימת

  11. apricot הגיב:

    אפשר להצטרף? משהו קצת לא ברור לי
    אם הבנתי נכון את המסך המוצג, הרי שחלק מהנתונים המוצגים מגיעים מה- DB ואילו ה- checkbox באים מה- html (נכון?)
    אם כך, איך אפשר לבדוק אילו תיבות סומנו, ואיך מקשרים אותן לרשומות המתאימות ב-DB?

  12. apricot הגיב:

    מצורף קישור – מחיקת רשומות ASP
    ההודעה הקודמת, נשלחה ריקה, בטעות…

    מחיקת רשומות ב- ASP:
    http://www.webmaster.org.il/showArticle.asp?id=45

  13. זהר פלד הגיב:

    אם הבנתי נכון,
    הכוונה שלך היא להחליף את ה select בכפתורים, נכון?
    ואתה במילא יכול לבחור ב select רק אופציה אחת מתוך השלושה, אתה הרי לא יכול גם להציג כתבה וגם למחוק אותה, לדוגמא…
    ככה שכפתורי radio יתאימו לך כאן, ולא checkbox.

    אני מציע שפשוט תשתמש בקבוצה של שלושה כפתורי radio, שתקבל שם מסוים שהוא שונה מהשם של כפתורי ה checkBox שכבר יש לך בטופס.

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

    אז אתה יכול גם…
    להשתמש ב-select עם הגדרת ה-multiple זה חוסך מקום בדף וגם בעיות
    הנתונים נקלטים עם פסיקים והכל טוב ויפה

  15. omer הגיב:

    אני ישאל משהו שונה
    לא הבנתם למה שהתכוונתי אז אני ישאל משהו שונה:

    א. איך עושים לינק שיהיה ככפתור ששולח טופס שהוא נמצא בו? (SUBMIT)

    ב. האם יש דרך לעשות 2 לינקים שיעשו פעולה שונה באותו הטופס שמשתמשים באותם הנתונים שהתקבלו מהטופס?

    מקווה שעכשיו זה יותר ברור,
    תודה מראש,
    עומר.

  16. בטח שזה אפשרי
    בasp.net הנושא הזה הרבה יותר פשוט אבל אני אסביר לך בasp

    אתה יוצר קישור לדף עצמו ומגדיר מאפיין חדש לדוגמא:


    admin.asp?action=delete

    עכשיו אתה יוצר שגרה בשם delete בדף שבא תבדוק את כל המסומנים ותעשה להם את פעולת המחיקה
    כנ"ל לגבי שאר הפעולות

  17. זהר פלד הגיב:

    אז ככה:
    א)

    <style type="text/css">
    .linkClass {text-decoration:underline;color:blue;cursor:hand;}
    </style>
    .
    .
    .
    <span class="linkClass" onClick="document.formName.submit()">שלח</span>

    לא מומלץ להשתמש בלינקים בשביל לבצע פעולות של javascript , לכן כתבתי את זה ב span. עם קצת css אפשר לגרום ל span להראות בדיוק כמו לינק, בדיוק כמו בדוגמת הקוד הזו.

    ב) כן – אבל צריך עוד קצת מידע על מה בדיוק הפעולות השונות שאתה רוצה לעשות, כדי לתת לך תשובה מלאה.

שלח תשובה