none
OnChange RadioButton RRS feed

  • Frage

  • Hallo,

     

    ich möchte in CRM 4.0 eine OnChange Bedingung schreiben. Wenn ein Listenfeld einen bestimmten Wert bekommt, soll ein Bitfeld geändert werden.

    Code:

    if(crmForm.cc_zahlungsform.DataValue == 4)

    {

    crmForm.all.cc_einzugsermaechtigung.DataValue == 1;

    }

     

    Fehlermeldung erhalte ich keine, aber das Bitfeld ändert sich auch nicht.

     

    Danke im Voraus, Peter

    Dienstag, 20. Dezember 2011 16:09

Antworten

  • Hi Peter,

    mit

    crmForm.all.cc_einzugsermaechtigung.DataValue == 1;
    
    machst du nur einen Vergleich, eine Zuweisung geht mit

    crmForm.all.cc_einzugsermaechtigung.DataValue = 1;
    

    Außerdem fehlt hier

    crmForm.cc_zahlungsform.DataValue 
    

    noch ein "all". Es muss also

    crmForm.all.cc_zahlungsform.DataValue 
    

    heißen.

    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
    Mittwoch, 21. Dezember 2011 09:25
    Moderator
  • Hallo Peter,

    Mit folgender Code-Zeile sollte deine Checkbox gesetzt werden:

    crmForm.all.cc_einzugsermaechtigung.DataValue = true;
    

    'true' ist ein vordefinierter Wert in JScript - 'True' hingegen nicht, darum hat das Script diese "Variable" als nicht definiert gemeldet.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Mittwoch, 21. Dezember 2011 10:12

Alle Antworten

  • Könnte daran liegen, dass der Code

    if(crmForm.all.cc_zahlungsform.DataValue == 4)

    {

    crmForm.all.cc_einzugsermaechtigung.DataValue == 1;

    }

    heißen müsste. Daher wurde Deine IF-Abfrage niemals true


    Carsten Groth http://carstengroth.wordpress.com
    Dienstag, 20. Dezember 2011 16:17
  • Hallo Peter,

    Für solche Probleme verwende ich immer den alert(...)-Befehl - mit diesem Befehl kannst du Werte mittels JScript auf die Benutzeroberfläche ausgeben. Wenn du das verwendest wirst du merken, dass bei

    alert(crmForm.cc_zahlungsform.DataValue);
    


    kein Wert bzw. ein Fehler angezeigt werden wird. Darum wird die IF-Abfrage nie true und die innere Code-Zeile nie ausgeführt - wie Carsten bereits geschrieben hat.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Dienstag, 20. Dezember 2011 19:26
  • Hi Peter,

    mit

    crmForm.all.cc_einzugsermaechtigung.DataValue == 1;
    
    machst du nur einen Vergleich, eine Zuweisung geht mit

    crmForm.all.cc_einzugsermaechtigung.DataValue = 1;
    

    Außerdem fehlt hier

    crmForm.cc_zahlungsform.DataValue 
    

    noch ein "all". Es muss also

    crmForm.all.cc_zahlungsform.DataValue 
    

    heißen.

    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
    Mittwoch, 21. Dezember 2011 09:25
    Moderator
  • Hallo,

    danke erst mal für die antworten. ich habe den code jetzt geändert auf:

    if(crmForm.all.cc_zahlungsform.DataValue == 4)
    {
    crmForm.all.cc_einzugsermaechtigung.DataValue = 1;
    }

     

    Jetzt bekomme ich aber eine Fehlermeldung: dieses Steuerelement unterstützt nur die eingaben 'true', 'false' oder 'null'

    ändere ich den code auf:

    if(crmForm.all.cc_zahlungsform.DataValue == 4)
    {
    crmForm.all.cc_einzugsermaechtigung.DataValue = True;
    }

    erhalte ich die Meldung 'True' is undefiend.

     

    was kann denn jetzt noch sein?

    Peter

    Mittwoch, 21. Dezember 2011 10:00
  • Hallo Peter,

    Mit folgender Code-Zeile sollte deine Checkbox gesetzt werden:

    crmForm.all.cc_einzugsermaechtigung.DataValue = true;
    

    'true' ist ein vordefinierter Wert in JScript - 'True' hingegen nicht, darum hat das Script diese "Variable" als nicht definiert gemeldet.

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Mittwoch, 21. Dezember 2011 10:12
  • hi

     

    ich finde das lustig. kleiner, aber feiner unterschied. Obwohl bei der Fehlermeldung geschrieben wird, dass es nur die werte 'True', 'False, oder 'Null' gibt.

     

    danke euch allen,

    peter

    Mittwoch, 21. Dezember 2011 11:17
  • Hallo Peter,

    In der Fehlermeldung die angezeigt wird, wenn du den Wert 1 zuweisen willst, sind die Werte auch klein geschrieben (true, false, null).

    JScript ist eine Case-Sensitive Programmiersprache, d.h. es ist ein wesentlicher Unterschied ob 'variable' oder 'Variable'!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Mittwoch, 21. Dezember 2011 12:06