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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
5 פוסטים 3 כותבים 341 צפיות 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

            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

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


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

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

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