SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Sharepoint new/editform Feldwert mit changed eventhandler abfragen

Geprüfte Antwort Dieser Beitrag hat 3 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 23 Apr. 2018 13:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo, ich habe mehrere Felder in meiner NewForm und möchte per JavaScript erzielen, dass das zweite Feld erst eingeblendet wird, wenn das erste Feld einen wert erhält.

Das ganze habe ich manuell beim erstmaligen Laden der Seite schon so hinbekommen wie ich es brauche, jedoch bringt mir das reichlich wenig, da ich einen EventHandler benötige, der das Feld einblendet, während man sich noch auf der Newform/EditForm befindet, und nicht erst beim nächsten aufruf.

Zunächst mein code:

<script src="/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">

$(document).ready(function () {

//Hier blende ich Felder nach belieben ein und aus

$('nobr:contains("Feld1")').closest('tr').show();
$('nobr:contains("Feld2")').closest('tr').hide();

//Hier hole ich mir den Feldwert und frage auf diesen ab:

var textValue = $("input[title='Feld1']").val();
if ( textValue != '' )
{
 $('nobr:contains("Feld2")').closest('tr').show();
}

});

</script>

Ich habe versucht das ganze mit einem manuellen reload darzustellen und mit HTML einfach einen Button eingeblendet, Problem hierbei ist dass die bereits eingegebenen werte nicht zwischengespeichert werden.

Die einzige saubere Lösung die mir hier einfällt wäre diese IF Abfrage, die ich nutze um auf den Value zu schauen, durch einen Eventhandler zu ersetzen, der jedes mal diese IF Abfrage ausführt, wenn ein Wert geändert wird.

Ist dies möglich bzw. gibt es ein Beispiel dazu?

MFG


<!--
<input type="button" value="Reload Page" onClick="window.location.reload()">
-->

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Apr. 2018 13:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ganz einfach:

$("input[title='Feld1'].change(function() {
// hier die Eingabe prüfen und entsprechend reagieren
});

 

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
282 Beiträge
MStel Als Antwort am 23 Apr. 2018 13:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

Hab nachdem es auf Anhieb nicht lief mal danach gesucht und etwas ähnliches gefunden, was bei mir funktioniert.

Code sieht wie folgt aus:

$("input[type='text']").change( function() {

// IF Abfrage

}

ist es sauberer auf den Field Title zu gehen oder kann ich das auch mit dem Type text machen? 

Vielen Dank auf jeden fall schon mal.

Gruß

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Apr. 2018 15:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="MStel"]ist es sauberer auf den Field Title zu gehen oder kann ich das auch mit dem Type text machen?[/quote]

Der Title ist einfach genauer. Es kann in der Seite ja viele input[type=text] geben und die lösen dann alle das Event aus.

Viele Grüße
Andi
af @ evocom de
Blog