Ergebnis 1 bis 9 von 9
-
14-01-2016, 07:20 #1
Jungspund
- registriert
- 06-10-2015
- Beiträge
- 22
Problem: Selectbox-Inhalt überprüfen
Hallo Leute,
auf meinem Ubuntu-Testsystem mit Firefox hatte ich keine Probleme. Nun wurden meine Scripte mal auf den Webserver geladen. Wenn ich die Seite nun aufrufe, denn wird mir in der Fehlerkonsole angezeigt, dass es die Methode "contains()" nicht gibt. Es handelt sich um die zweite If-Abfrage aus folgendem Code(Zeile 4):
Code:function changeTboxSnmpCom(){ $(document).ready(function(){ if (document.getElementById("agenttype")){ if (!$("#agenttype").val().contains("SNMP")) { /* Clears the textbox: */ $("#snmpCom").val(""); /* Locks the textbox */ $("#snmpCom").prop("readonly",true); } else { /* Unlock the textbox */ $("#snmpCom").prop("readonly",false); } } }); }
Code:if (!$("#agenttype").val().indexOf("SNMP")>-1) { /**/ }
Und könnte ich mit der indexOf()-Alternative Abhilfe schaffen?
MfG
-
14-01-2016, 07:46 #2
AW: Problem: Selectbox-Inhalt überprüfen
Sieht nach jQuery aus. Wie wird das denn geladen? Vlt. fehlt das auf dem Webserver einfach. Was sagt die F12 Konsole des Browsers denn dazu?
Das deutsche Javascript Forum http://forum.jswelt.de
-
14-01-2016, 08:03 #3
Jungspund
- registriert
- 06-10-2015
- Beiträge
- 22
AW: Problem: Selectbox-Inhalt überprüfen
Danke für deine Antwort, mikdoe.
jQuery ist auf dem Live-Server mit eingebunden und wird auch verwendet. Geladen wird es im Header-Bereich durch <script src="javascript/jquery-laters.js" type="text/javascript"></script>
Die Entwicklerkonsole von Chrome spuckt folgendes aus:
Code:Uncaught TypeError: $(...).val(...).contains is not a function (anonymous function) @ hostSettings.js:6 fire @ jquery-latest.js:3119 self.add @ jquery-latest.js:3165 jQuery.fn.ready @ jquery-latest.js:3399 changeTboxSnmpCom @ hostSettings.js:4 onload @ hostSettings.php:9
MfGGeändert von mikdoe (14-01-2016 um 11:32 Uhr) Grund: Code Tags
-
14-01-2016, 11:34 #4
AW: Problem: Selectbox-Inhalt überprüfen
Gibt es denn
$("#agenttype").val()
zu diesem Zeitpunkt schon/noch im DOM oder ist diese ID (noch) nicht vorhanden? Obwohl mich dann wundern würde, dass ein jQuery Kommando eine Fehlermeldung wirft. Das tut es nämlich in älteren Versionen nicht.Das deutsche Javascript Forum http://forum.jswelt.de
-
14-01-2016, 12:49 #5
Jungspund
- registriert
- 06-10-2015
- Beiträge
- 22
AW: Problem: Selectbox-Inhalt überprüfen
Sorry für die Code-Tags und danke noch mal für die Antwort/den Tipp.
Ich habe in meinem Code tatsächlich noch etwas ungewöhnliches gefunden.
Im HTML-Body habe ich die Methode direkt mittels onload-Event aufgerufen:
Code:<body onload="changeTboxSnmpCom();">
Mein Ziel war es, nach dem Erstellen der SelectBox die aktuelle Auswahl zu überprüfen und daraufhin bestimmte Ereignisse auszulösen.
Ich habe jetzt folgenden Code unterhalb der SelectBox eingesetztCode:<?php echo "<script type=\"text/javascript\">changeTboxSnmpCom();></script>";
MfGGeändert von chpo7234 (14-01-2016 um 13:18 Uhr)
-
14-01-2016, 13:02 #6
AW: Problem: Selectbox-Inhalt überprüfen
ja man scripte auch im body starten. wichtig ist immer die zeitliche reihenfolge der elemente im DOM.
Das deutsche Javascript Forum http://forum.jswelt.de
-
15-01-2016, 09:37 #7
Jungspund
- registriert
- 06-10-2015
- Beiträge
- 22
AW: Problem: Selectbox-Inhalt überprüfen
Ok, mittlerweile hat sich heraus gestellt, dass es hier Konflikte mit der Browserkompatibilät gibt..... Im Firefox wird die Funktion normal ausgeführt, bei Chrome oder IE kommt es hier zur Fehlermeldung.
Die contains()-Methode wurde wohl irgendwann von includes() ersetzt.
javascript - string.contains() doesn't exist while working in chrome - Stack Overflow
MfG
-
15-01-2016, 10:02 #8
AW: Problem: Selectbox-Inhalt überprüfen
Ja ja, das ewige Leid mit den Browsern.
Ich sehe aber auch jetzt erst nach ganz genauem Lesen, dass du unterschiedliche Browser für lokal und live verwendet hast. Sowas sollte man immer vermeiden. Ich arbeite immer in einem einzigen Browser (IE11) sowohl live als auch lokal. Und den anschließenden Cross-Browser Test mache ich dann live mit allen anderen Browsern.Das deutsche Javascript Forum http://forum.jswelt.de
-
16-01-2016, 06:34 #9
AW: Problem: Selectbox-Inhalt überprüfen
Ich würde langfristig auf STRING.includes() setzten, da das im ECMA6 drin ist und contains nicht. Aber aus Rückwärtskompatibilitätsgründen würde ich zur Zeit auf jeden Fall mit der .indexOf !== -1 Variante arbeiten.
Du könntest aber natürlich auch mit einem Polyfill arbeiten:Code:if (!String.prototype.includes){ String.prototype.includes = function includes(searchString/*, searchPosition*/){ var searchPosition; if (arguments.length > 1){ searchPosition = arguments[1]; } else { searchPosition = 0; } return this.indexOf(searchString) >= searchPosition; }; }
Ähnliche Themen
-
uploadfeld auf inhalt überprüfen
Von asd im Forum JavaScriptAntworten: 10Letzter Beitrag: 04-04-2013, 20:56 -
Formularfelder name[] einzeln auf Inhalt überprüfen
Von LucaUS im Forum JavaScriptAntworten: 2Letzter Beitrag: 24-09-2009, 13:01 -
Über Selectbox Inhalt einer Seite Ändern
Von speedyspin im Forum JavaScriptAntworten: 7Letzter Beitrag: 05-01-2008, 22:56 -
Inhalt von Selectbox in Textarea einfügen
Von R1ddl3r im Forum JavaScriptAntworten: 5Letzter Beitrag: 14-02-2006, 15:03 -
Css problem bei Selectbox
Von MasterD im Forum AllgemeinesAntworten: 4Letzter Beitrag: 05-10-2001, 21:02
Lesezeichen