דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה | קבלת טקסט נבחר מtextarea בJS

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

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

    אני מנסה לכתוב קוד על בסיס מה ש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);
              }
            }
          });
        });
      });
    });
    

    תודה!!

    proud jewP תגובה 1 תגובה אחרונה
    1
    • proud jewP מנותק
      proud jewP מנותק
      proud jew
      השיב לנ נח ב נערך לאחרונה על ידי
      #2

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

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

      נ תגובה 1 תגובה אחרונה
      2
      • נ מנותק
        נ מנותק
        נ נח
        השיב לproud jew ב נערך לאחרונה על ידי
        #3

        @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
        • מוטי אורןמ מנותק
          מוטי אורןמ מנותק
          מוטי אורן
          השיב לנ נח ב נערך לאחרונה על ידי
          #4

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

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

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

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

            תגובה 1 תגובה אחרונה
            1
            • dovidD dovid העביר נושא זה מ-תכנות ב-

            בא תתחבר לדף היומי!
            • התחברות

            • אין לך חשבון עדיין? הרשמה

            • התחברו או הירשמו כדי לחפש.
            • פוסט ראשון
              פוסט אחרון
            0
            • דף הבית
            • קטגוריות
            • פוסטים אחרונים
            • משתמשים
            • חיפוש
            • חוקי הפורום