none
Problem mit Jscript in CRM2011 RRS feed

  • Frage

  • Hallo zusammen,

    an alle Jscript Experten im Forum:
    In CRM 2011 wollte ich auf einem Feld eine Validierung einbauen. Nutzer können dort für ein anderes System ihr Login User hinterlegen. Viele tragen hierbei die Domäne mit ein, was nicht gewünscht ist.

    So sieht mein JScript aus:

     myStr = Xrm.Page.getAttribute('login_data').getValue();
     if (myStr.left(4) == 'dom\')
      {
      Xrm.Page.getAttribute('login_data').setValue(myStr.substring(5));
      alert("The domain characters (dom\) are not required at this point.");
      }

    Habe ich auf dem Feld mit onChange eingebaut und erhalte dann eine unschöne "Objekt erwartet" Fehlermeldung.

    Hat jemand eine Idee?
    Ich vermute, es liegt an dem "\", wüsste aber nicht wie ich das umgehen kann.

    Danke im Voraus,

    Grüße
    Christian

    Freitag, 25. November 2011 14:53

Antworten

  • Hallo Christian,

    Im Javascript escapsed du '\' mit '\' - d.h. das ganze doppelt funktioniert dann. Außerdem ist string.left keine Standardfunktion - hier kannst du aber auch string.substr verwenden. Zusätzlich musst beim Entfernen der Domäne an Stelle 4 und nicht 5 beginnen. Folgend die Funktion, die bei mir funktioniert hat:

    myStr = Xrm.Page.getAttribute('login_data').getValue();
    if (myStr.substr(0,4) == 'dom\\')
    {
      Xrm.Page.getAttribute('login_data').setValue(myStr.substring(4));
      alert("The domain characters (dom\) are not required at this point.");
    }
    


    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    • Als Antwort markiert christian_v Montag, 28. November 2011 18:46
    Montag, 28. November 2011 12:23

Alle Antworten

  • Hallo Christian,

    Im Javascript escapsed du '\' mit '\' - d.h. das ganze doppelt funktioniert dann. Außerdem ist string.left keine Standardfunktion - hier kannst du aber auch string.substr verwenden. Zusätzlich musst beim Entfernen der Domäne an Stelle 4 und nicht 5 beginnen. Folgend die Funktion, die bei mir funktioniert hat:

    myStr = Xrm.Page.getAttribute('login_data').getValue();
    if (myStr.substr(0,4) == 'dom\\')
    {
      Xrm.Page.getAttribute('login_data').setValue(myStr.substring(4));
      alert("The domain characters (dom\) are not required at this point.");
    }
    


    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    • Als Antwort markiert christian_v Montag, 28. November 2011 18:46
    Montag, 28. November 2011 12:23
  • Perfekt. Man lernt nie aus :) Danke!!

    Liebe Grüße
    Christian

    Montag, 28. November 2011 18:46
  • Und hier noch ein paar Links aus der MSDN-Dokumentation zum String-Objeckt und der substr- und substring-Methode.

    String-Objekt: http://msdn.microsoft.com/de-de/library/bxsyt3yc.aspx

    substring: http://msdn.microsoft.com/en-us/library/windows/apps/3cz15ahb(v=vs.85).aspx

    substr: http://msdn.microsoft.com/en-us/library/windows/apps/0esxc5wy(v=vs.85).aspx

    Viele Grüße,
    Jürgen


    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Montag, 28. November 2011 18:46
    Moderator