2016-04-14 13 views
0

Ich versuche, einen Client-Skript in ServiceNow zu bauen - Genf (Funktion onChange), die die folgenden:ServiceNow Show-Taste, wenn Bedingung wahr

-> Wenn die Benutzer etwas in einem leeren Feld schreiben eine Taste soll erscheinen nach Änderung;

Dies ist mein Code jetzt, es funktioniert nicht -> gibt mir ein X auf dem Formular :):

function onChange(control, oldValue, newValue, isLoading, isTemplate) { 

    //Define the variable and the name of the button 


    if (g_form.getValue('work_around') != ''){ 
    var items = $$('BUTTON').each(function(item){ 
    if(item.innerHTML.indexOf('Publish Known Error')=== -1){ 

     item.show(); 
    } 
    }); 

} 

} 
+1

Dieser Code zeigt alle Schaltflächen an, die nicht "Publish Known Error" heißen. Übrigens, wenn Sie dieses Skript bei der Änderung des work_around-Felds erstellen, müssen Sie nicht "get_value" verwenden, stattdessen können Sie einfach "newValue" verwenden. –

+0

Hallo Pete, Entschuldigung für die Verzögerung meiner Antwort. Danke für den Hinweis mit "newValue". Das Skript sollte nur die Schaltfläche "Bekannten Fehler veröffentlichen" anzeigen, die bereits eine Bedingung hat (das Feld muss einen Wert haben). Ich möchte nur einen zusätzlichen Schritt von speichern und bleiben. –

Antwort

0

Anstelle eines Client-Script, würde ich mit einem onChange(<your field>) UI-Politik empfehlen. Dies kann erreicht werden, indem eine Bedingung für Ihr Feld nicht NULL oder eine andere Wertprüfung eingestellt wird.

Ihre UI-Richtlinie kann dann die Funktion .append verwenden, um Ihre Schaltfläche an ein Element Ihrer Wahl zu binden.