לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 01-02-2007, 15:17
  hannibal218 hannibal218 אינו מחובר  
 
חבר מתאריך: 05.09.05
הודעות: 72
עזרה בעיה מציקה ביותר עם textarea

היי,

אני בונה טופס, שיש בו תגית textarea.
מסתבר, שהמידע שיכונס לתגית הזו מתחיל ב"אנטר" כלומר, תוכנס שורה חדשה ואז מידע.

כאשר הטופס הזה נשמר, אז המידע ב textarea עובר בסדר, ובתוך הדטה בייס, אני רואה שה"אנטר" נשמר.

הבעיה, היא שכאשר פותחים מחדש את הטופס לעשות עדכונים וכאלה, HTML לא מכיר את העובדה שמידע מתחיל בירידת שורה ומתעלם מזה, וכך בפעם הבאה שהמידע בטופס נשמר, הירידת שורה הולכת לאיבוד.

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

הבנתם בערך את הבעיה? בכל מקרה אתם יכולים לנסות את זה אצלכם, מסתבר שtextarea לא אוהב להתחיל בירידת שורה, אם זה המצב הוא פשוט מתעלם מזה

אודה לכם על פתרונות

דור
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 01-02-2007, 18:40
  DCD DCD אינו מחובר  
 
חבר מתאריך: 17.05.05
הודעות: 7,321
בתגובה להודעה מספר 7 שנכתבה על ידי hannibal218 שמתחילה ב "אוקי סידרתי את זה"

אמממ מספר דברים....:

1. למה לא להשתמש בביטוי רגולרי פשוט לפתירת הבעיה? או שזה מה שעשית וזה לא פותר אותה?
בדר"כ משתמשים בפונקציה preg_replace עם ביטוי רגולרי מתאים:

קוד PHP:
 $txt preg_replace("/[\r\n]/""<br />"$txt); /* To insert into the DB */
//...
$txt str_replace("<br />""\n"$txt); /* To extract out of the DB and insert into the form's input(s) */ 


יש גם פונקציות מוכנות לביצוע אותו הדבר: nl2br. רק שאני לא בטוח מה יותר מהיר....תנסה. (נעשה על זה דיבור רחב בפורום, בצע חיפוש...)

תראה עוד פה:
http://www.fresh.co.il/vBulletin/sh...hlight=%5Cr%5Cn

2. בשורה הבאה:
קוד PHP:
 if (sizeOf($lines) > 1$newLine "\n"


במקום להשתמש ב- sizeof אפשר לעשות:

קוד PHP:
 if ( isset( $lines[1] ) ) $newLine "\n"


מה שידוע שזה יותר מהיר וטוב מלהשתמש ב-sizeof / count. (גם על זה נעשה דיבור, תעשה חיפוש...)

3.

ציטוט:
מסתבר, שהמידע שיכונס לתגית הזו מתחיל ב"אנטר" כלומר, תוכנס שורה חדשה ואז מידע.

ממתי זה קורה? בהתחלה חשבתי שלא הבנתי טוב את המקרה.

4. הבנתי נכון מה שרצית?

נערך לאחרונה ע"י DCD בתאריך 01-02-2007 בשעה 18:43.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:13

הדף נוצר ב 0.04 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר