תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    עזרה | קבלת טקסט נבחר מtextarea בJS

    תכנות
    3
    5
    158
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • נ
      נ נח נערך לאחרונה על ידי

      אני מנסה לכתוב קוד על בסיס מה שyossiz כתב כאן
      מה שהצלחתי זה לקבל קלט באמצעות prompt ולהכניס לtextarea ('המלחין')
      מה שאני רוצה זה לקבל את הטקסט שנבחר בcomposer ולהשתמש בprompt רק במקרה שלא בחרו שום דבר

      לדוגמא:
      87650736-8e4d-4b27-b0b5-e2e74cc64478-image.png
      שיביא "וה סקר"

      זה הקוד:

      require(["composer/formatting"], function (formatting) {
        require(["composer/controls"], function (controls) {
          formatting.addButton("fa fa-calculator", function (textarea) {
            bootbox.prompt("כתוב אותיות לחישוב", function (str) {
              if (str != "" && str != null) {
                let num = 0;
                for (let i = 0; i < str.length; i++) {
                  switch (str.charAt(i)) {
                    case "א":
                      num += 1;
                      break;
                    case "ב":
                      num += 2;
                      break;
                    case "ג":
                      num += 3;
                      break;
                    case "ד":
                      num += 4;
                      break;
                    case "ה":
                      num += 5;
                      break;
                    case "ו":
                      num += 6;
                      break;
                    case "ז":
                      num += 7;
                      break;
                    case "ח":
                      num += 8;
                      break;
                    case "ט":
                      num += 9;
                      break;
                    case "י":
                      num += 10;
                      break;
                    case "כ":
                    case "ך":
                      num += 20;
                      break;
                    case "ל":
                      num += 30;
                      break;
                    case "מ":
                    case "ם":
                      num += 40;
                      break;
                    case "נ":
                    case "ן":
                      num += 50;
                      break;
                    case "ס":
                      num += 60;
                      break;
                    case "ע":
                      num += 70;
                      break;
                    case "פ":
                    case "ף":
                      num += 80;
                      break;
                    case "צ":
                    case "ץ":
                      num += 90;
                      break;
                    case "ק":
                      num += 100;
                      break;
                    case "ר":
                      num += 200;
                      break;
                    case "ש":
                      num += 300;
                      break;
                    case "ת":
                      num += 400;
                      break;
                  }
                }
                if (num === 0) {
                  app.alertError("התוצאה היא 0");
                } else {
                  let res = `${str} = ${num}`;
                  app.alertSuccess(res);
                  controls.insertIntoTextarea(textarea, res);
                }
              }
            });
          });
        });
      });
      

      תודה!!

      P תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • P
        proud jew @נ נח נערך לאחרונה על ידי

        @נ-נח תנסה
        window.select
        או
        window.selection
        אחד משניהם אמור להביא את הטקסט המושחר בדפדפן

        מי שטוב לו ושמח -
        שיסביר.

        נ תגובה 1 תגובה אחרונה תגובה ציטוט 2
        • נ
          נ נח @proud jew נערך לאחרונה על ידי

          @proud-jew לא עובד אצלי..
          זה עובד:

          var textarea = document.getElementById("ID");  
          alert((textarea.value).substring(textarea.selectionStart,textarea.selectionEnd));
          

          קרדיט ל https://stackoverflow.com/a/23027596/15862744
          הבעיה שאין id לcomposer
          yossiz עשה בלי id, אבל אני לא כ"כ מצליח להבין את הקוד

          מוטי אורן תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • מוטי אורן
            מוטי אורן @נ נח נערך לאחרונה על ידי

            @נ-נח מה ש yossiz כתב שם זה קוד שמבצע בדיקה האם בתוך ה - composer קיים טקסט מודגש.

            שים לב לקוד של yossiz דלהלן (הוספתי הערות בקוד שתוכל להבין, והשמטתי את מה שאתה לא צריך):

            formatting.addButton('fa fa-terminal' /* האייקון שיוצג */, function  (textarea, selectionStart /* זה המיקום של תחילת הטקסט המודגש */, selectionEnd /* זה המיקום של סוף הטקסט המודגש */) {
                    if (selectionStart === selectionEnd) { /* זה אומר שאין טקסט מודגש */ } else { /* יש טקסט מודגש */ }
            }  /* פונקציית קולבאק שהמתודה הזאת מפעילה */, 'code' /* הכותרת שתופיע במעבר על הלחצן */);
            
            נ תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • נ
              נ נח @מוטי אורן נערך לאחרונה על ידי

              @מוטי-אורן תודה רבה!!!

              תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • הועבר מ תכנות ע"י  dovid dovid 
              • 1 / 1
              • פוסט ראשון
                פוסט אחרון
              בא תתחבר לדף היומי!