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

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

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

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 3 כותבים 185 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • נ מנותק
    נ מנותק
    נ נח
    כתב ב נערך לאחרונה על ידי
    #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);
              }
            }
          });
        });
      });
    });
    

    תודה!!

    P תגובה 1 תגובה אחרונה
    1
  • P מנותק
    P מנותק
    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
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

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

  • התחברו או הירשמו כדי לחפש.