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

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

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

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

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

      אני מנסה לכתוב קוד על בסיס מה ש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 מנותק
      proud jewP מנותק
      proud jew
      כתב ב נערך לאחרונה על ידי
      #2

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

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

      נ תגובה 1 תגובה אחרונה
      2
      • proud jewP proud jew

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

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

          @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, אבל אני לא כ"כ מצליח להבין את הקוד

          מוטי אורןמ מנותק
          מוטי אורןמ מנותק
          מוטי אורן
          כתב ב נערך לאחרונה על ידי
          #4

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

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

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

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

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

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

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

            תגובה 1 תגובה אחרונה
            1
            • dovidD dovid העביר נושא זה מ-תכנות ב-
            תגובה
            • תגובה כנושא
            התחברו כדי לפרסם תגובה
            • מהישן לחדש
            • מהחדש לישן
            • הכי הרבה הצבעות


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

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

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